ホ−ム » 応用サンプル » マーカにCSSスプライトを使う

マーカにCSSスプライトを使う

実行結果

次の例では、CSSスプライトを使用したマーカを表示します。

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

ソースコードと解説

CSSスプライトを使ったマーカを表示するには、ZDC.Markerクラスのcustomオプションを利用します。

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<script src="//api.its-mo.com/v3/loader?key=JSZ9ea6d26ac8a7|VbFeP&api=zdcmap.js,control.js&enc=EUC&force=1" type="text/javascript"></script>
<script type="text/javascript">
//<![CDATA[
    var mrk1, mrk2,
        lat = 35.6778614, lon = 139.7703167;

    function loadMap() {
        var imgdir ='../../image/search/';
        var guyde_type = {
            'mrk1': {
                custom: {
                    base: {
                        src: imgdir + 'route_bg.png',
                        imgSize: new ZDC.WH(35, 35),
                        imgTL: new ZDC.TL(130, 0)
                    },
                    content: {
                        src: imgdir + 'route_cat.png',
                        imgSize: new ZDC.WH(35, 30),
                        imgTL: new ZDC.TL(95, 0)
                    }
                },
                offset: ZDC.Pixel(0, -36)
            },
            'mrk2': {
                custom: {
                    base: {
                        src: imgdir + 'route_bg.png',
                        imgSize: new ZDC.WH(35, 35),
                        imgTL: new ZDC.TL(130, 0)
                    },
                    content: {
                        src: imgdir + 'route_cat.png',
                        imgSize: new ZDC.WH(35, 30),
                        imgTL: new ZDC.TL(73, 0)
                    }
                },
                offset: ZDC.Pixel(0, -36)
            }
        };

        var 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());

        mrk1 = new ZDC.Marker(
            new ZDC.LatLon('35.682270278','139.765338889'),
            guyde_type['mrk1']
        );

        mrk2 = new ZDC.Marker(
            new ZDC.LatLon('35.682270278','139.775338889'),
            guyde_type['mrk2']
        );
        map.addWidget(mrk1);
        map.addWidget(mrk2);
    };
//]]>
</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>