マーカをクリックしてユーザウィジットを表示する

実行結果

次の例では、クリックしたときにユーザウィジットを表示するマーカを表示します。

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

ソースコードと解説

マーカをクリックしてユーザウィジットを表示するには、ZDC.Markerクラスと、ZDC.addListener()からZDC.UserWidgetクラスを利用します。

<!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,userwidget.js&enc=UTF8" type="text/javascript"></script>
<script type="text/javascript">

    var map, userwidget, mrk,
        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());

        /* マーカを作成 */
        mrk = new ZDC.Marker(new ZDC.LatLon(35.671681056, 139.766053178), {
            color: ZDC.MARKER_COLOR_ID_GRAY_S,
            number: ZDC.MARKER_NUMBER_ID_1_S
        });

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

        /* ユーザウィジットを作成 */
        var userwidgetlabel =
        {
            html: '<div style="background-color: #FFFFFF"><b>Sample Widget</b></div>',
            size: new ZDC.WH(100, 40)
        };
        userwidget = new ZDC.UserWidget(map.getLatLon(), userwidgetlabel);

        /* ユーザウィジットを追加 */
        map.addWidget(userwidget);

        /* マーカがクリックされたらユーザウィジットを表示する関数を実行させる */
        ZDC.addListener(mrk, ZDC.MARKER_MOUSEUP, function(){userwidget.open();});
    };

</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>