ホ−ム » サンプルコード » ウィジットのz-indexを変更する

ウィジットのz-indexを変更する

実行結果

次の例では、ウィジットのz-indexを変更して表示順を変更します。

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

ソースコードと解説

ウィジットの表示順を変更するには、各ウィジットクラスのsetZindex()を利用します。デフォルトは100です。

<!DOCTYPE html>
<html>
<head>

<meta http-equiv="Content-Type" content="text/html; charset=EUC-JP">
<script src="//api.its-mo.com/v3/webgl-loader?key=JSZ9ea6d26ac8a7|VbFeP&ver=bldg_w_tex&api=webgl.js&enc=EUC&force=1" type="text/javascript"></script>
<script type="text/javascript">
    "use strict";
    var map, objects={}, 
        lat = 35.66297325982054, lon = 139.76598186955528, zindx = 100;

    function loadMap() {
        map = new ZDC.Map(
            document.getElementById('ZMap'),
            {
                latlon: new ZDC.LatLon(lat, lon),
                zoom: 14.5,
                heading: 155,
                tilt: 70 
            }
        );

        /* スケールバーを作成 */
        var scale = new ZDC.ScaleBar();

        /* スケールバーを表示 */
        map.addWidget(scale);


        /* 多角形の頂点を作成 */
        var latlons = [];
        latlons.push(new ZDC.LatLon(lat, lon));
        latlons.push(new ZDC.LatLon(35.66397325982054, 139.76648186955528));
        latlons.push(new ZDC.LatLon(35.66197325982054, 139.76698186955528));

        /* 線を作成。closePath:trueで多角形になる */
        var pg = new ZDC.Polyline( latlons,
        {
            strokeColor: '#00FF00',
            strokeWeight: '2',
            fillColor: '#FF00FF',
            closePath: true
        });

        /* 多角形を地図に追加 */
        map.addWidget(pg);
        objects.pg = pg;

        /* 円を作成 */
        var ov = new ZDC.Oval(
        {
            latlon: new ZDC.LatLon(lat, lon),
            x: 100,
            y: 100
        },
        {
            strokeColor: '#00FF00',
            strokeWeight: '2',
            fillColor: '#FF0000',
            circle: true
        });

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

        /* マーカを作成 */
        var mrk1 = new ZDC.Marker(new ZDC.LatLon(lat, lon), {
            color: ZDC.MARKER_COLOR_ID_GRAY_L,
            number: ZDC.MARKER_NUMBER_ID_1_L
        });
        map.addWidget(mrk1);
        objects.mrk1 = mrk1;

        /* マーカを作成 */
        var mrk2 = new ZDC.Marker(new ZDC.LatLon(lat, lon), {
            color: ZDC.MARKER_COLOR_ID_YELLOW_L,
            number: ZDC.MARKER_NUMBER_ID_2_L
        });
        map.addWidget(mrk2);
        objects.mrk2 = mrk2;

        /* ユーザウィジットを表示 */
        var widget1label = 
        {
            html: '<div style="background-color: #FFFFFF"><b><font color="#FF0000">Sample Widget1</font></b></div>',
            size: new ZDC.WH(110, 40)
        };
        var widget1 = new ZDC.UserWidget(new ZDC.LatLon(lat, lon), widget1label);
        map.addWidget(widget1);
        widget1.open();
        objects.widget1 = widget1;

        var widget2label =
        {
            html: '<div style="background-color: #FFFFFF"><b>Sample Widget2</b></div>',
            size: new ZDC.WH(110, 40)
        };
        var widget2 = new ZDC.UserWidget(new ZDC.LatLon(lat, lon), widget2label);
        map.addWidget(widget2);
        widget2.open();
        objects.widget2 = widget2;

        /* 吹き出しを表示 */
        var msginfo1 = new ZDC.MsgInfo(new ZDC.LatLon(lat, lon), {html: 'Sample MsgInfo1'});
        map.addWidget(msginfo1);
        msginfo1.open();
        objects.msginfo1 = msginfo1;

        /* 吹き出しを表示 */
        var msginfo2 = new ZDC.MsgInfo(new ZDC.LatLon(lat, lon), {html: 'Sample MsgInfo2'});
        map.addWidget(msginfo2);
        msginfo2.open();
        objects.msginfo2 = msginfo2;
    }

    /* マーカのz-indexを変更する */
    function chg_zindex(key) {
        zindx++;
        objects[key].setZindex(zindx);
    };

</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:510px; left:20px; position:absolute;">
        <input type="button" value="マーカ1を上にする" onclick="chg_zindex('mrk1');"><br>
        <input type="button" value="マーカ2を上にする" onclick="chg_zindex('mrk2');"><br>
        <input type="button" value="吹き出し1を上にする" onclick="chg_zindex('msginfo1');"><br>
        <input type="button" value="吹き出し2を上にする" onclick="chg_zindex('msginfo2');"><br>
        <input type="button" value="ユーザウィジット1を上にする" onclick="chg_zindex('widget1');"><br>
        <input type="button" value="ユーザウィジット2を上にする" onclick="chg_zindex('widget2');"><br>
        <input type="button" value="多角形を上にする" onclick="chg_zindex('pg');"><br>
        <input type="button" value="円を上にする" onclick="chg_zindex('ov');">
    </div>
</body>
</html>