イベントを利用する

実行結果

次の例では、イベントリスナの登録と削除をおこないます。
「addListener」ボタンを押した際に、イベントリスナを登録して、地図をクリックすると現在の中心点の緯度経度を表示します。
「removeListener」「clearListeners」「clearInstanceListeners」のいずれかのボタンを押した際に、登録したイベントリスナを削除します。

Your borwser is not supporting object tag. Please use one of the latest browsers.
Go to ./apisample/event/event_006.html

ソースコードと解説

オブジェクトに用意されているイベントを追加するには、ZDC.addListener()を利用します。
オブジェクトに登録されたイベントリスナを削除するには、ZDC.removeListener()を利用します。
指定したオブジェクトの指定したイベントを削除するには、ZDC.clearListeners()を利用します。
指定したオブジェクトの全イベントを削除するには、ZDC.clearInstanceListeners()を利用します。

<!DOCTYPE html>
<html>
<head>

<meta charset="UTF-8">
<script src="//test.api.its-mo.com/v3/loader?key=JSZddc5111626c8|Zo4wz&api=zdcmap.js,control.js&enc=UTF8" type="text/javascript"></script>
<script type="text/javascript">

    var map,
        lat = 35.6778614, lon = 139.7703167;

    function loadMap() {
        map = new ZDC.Map(
            document.getElementById('ZMap'),
            {
                latlon: new ZDC.LatLon(lat, lon),
                zoom: 9,
                mapType: ZDC.MAPTYPE_HIGHRES_LV18
            }
        );

        /* スケールバーを表示 */
        map.addWidget(new ZDC.ScaleBar());
        /* 通常のコントロールを表示 */
        map.addWidget(new ZDC.Control());
    };

    /* 地図をクリックしたときの動作 */
    function addListener() {
        action = ZDC.addListener(map, ZDC.MAP_CLICK, getLatLon);
    };

    /* 登録されたオブジェクトのイベントを削除して、
      地図のクリック時に何も起こらないようにする */
    function removeListener() {
        ZDC.removeListener(action);
    };

    /* 指定されたイベント名でコールされるリスナをオブジェクトから削除して、
      地図のクリック時に何も起こらないようにする */
    function clearListeners() {
        ZDC.clearListeners(map, ZDC.MAP_CLICK);
    };

    /* 指定されたオブジェクトのすべてのイベントのすべてのリスナを削除して、
      地図のクリック時に何も起こらないようにする */
    function clearInstanceListeners() {
        ZDC.clearInstanceListeners(map);
    };

    function getLatLon() {
        var latlon =  map.getLatLon();
        alert('緯度:' + latlon.lat + ' 経度:'+ latlon.lon);
    };

</script>
</head>

<body onload="loadMap();">
    <div id="ZMap" style="border:1px solid #777777; width:750px; height:500px; top:0px; left:20px; position:absolute;"></div>
    <div id="IBox" style="top:20px; left:620px; position:absolute;">
        <input type="button" value="addListener" onclick="addListener();"><br>
        <input type="button" value="removeListener" onclick="removeListener();"><br>
        <input type="button" value="clearListeners" onclick="clearListeners();"><br>
        <input type="button" value="clearInstanceListeners" onclick="clearInstanceListeners();">
    </div>
</body>
</html>