ホ−ム » 応用サンプル » マーカに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 PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>

<meta http-equiv="Content-Type" content="text/html; charset=EUC-JP">
<script src="http://api.its-mo.com/cgi/loader.cgi?key=JSZ752c40ded32d&ver=2.0&api=zdcmap.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: 7
            }
        );


        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:500px; height:300px; top:0px; left:20px; position:absolute;"></div>
</body>
</html>