ホ−ム » 基本サンプル » イベントの伝播を止める

イベントの伝播を止める

実行結果

次の例では、ウィジット上で地図のドラッグができます。

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

ソースコードと解説

ウィジットで発生したイベントの伝播を制御するには、propagationプロパティを利用します。
利用可能なウィジットは、マーカ、吹き出し、線、多角形、円または楕円、ユーザウィジットです。

<!DOCTYPE html>
<html>
<head>

<meta charset="UTF-8">
<script src="//api.its-mo.com/v3/loader?key=JSZ9ea6d26ac8a7|VbFeP&api=zdcmap.js,control.js,shape.js,userwidget.js&enc=UTF8&force=1" type="text/javascript"></script>
<script type="text/javascript">

    var map, mrk, pl, ov, widget,
        lat = 35.6778614, lon = 139.7703167;

    function loadMap() {
        map = new ZDC.Map(
            document.getElementById('ZMap'),
            {
                latlon: new ZDC.LatLon(lat, lon),
                zoom: 7,
                mapType: ZDC.MAPTYPE_HIGHRES_LV18
            }
        );
        /* スケールバーを作成 */
        map.addWidget(new ZDC.ScaleBar());
        /* 通常のコントロールを表示 */
        map.addWidget(new ZDC.Control());
        /* マーカを作成 */
        var mrklabel = 
        {
            propagation: true
        };
        mrk = new ZDC.Marker(new ZDC.LatLon(35.65, 139.85), mrklabel);

        /* マーカを追加 */
        map.addWidget(mrk);

        /* 吹き出しを表示 */
        var widget = new ZDC.MsgInfo(map.getLatLon(), {html: 'Sample MsgInfo', propagation: true});
        map.addWidget(widget);
        widget.open();

        /* ユーザウィジットを作成 */
        var widgetlabel = 
        {
            html: '<div style="background-color: #FFFFFF"><b>Sample Widget</b></div>',
            size: new ZDC.WH(100, 40),
            propagation: true
        };
        widget = new ZDC.UserWidget(map.getLatLon(), widgetlabel);
        /* ユーザウィジットを地図に追加 */
        map.addWidget(widget);
        /* ユーザウィジットを表示 */
        widget.open();

        /* 線の頂点を作成 */
        var latlons = [];
        latlons.push(new ZDC.LatLon(35.70, 139.63));
        latlons.push(new ZDC.LatLon(35.70, 139.72));
        latlons.push(new ZDC.LatLon(35.66, 139.65));

        /* 線を作成 */
        pl = new ZDC.Polyline( latlons,
        {
            fillColor: '#FF0000',
            propagation: true
        });

        /* 線を地図に追加 */
        map.addWidget(pl);

        /* 円を作成 */
        ov = new ZDC.Oval(
        {
            latlon: new ZDC.LatLon(35.70, 139.85),
            x: 2000,
            y: 2000
        },
        {
            strokeColor: '#000000',
            strokeWeight: '2',
            fillColor: '#FF0000',
            circle: true
        });

        /* 円を地図に追加 */
        map.addWidget(ov);

    };

</script>
</head>

<body onload="loadMap();">
    <div id="ZMap" style="border:1px solid #777777; width:750px; height:500px; top:0px; left:20px; position:absolute;"></div>
</body>
</html>