路線図を利用する

実行結果

次の例では、地図の上に路線図を重ねて表示します。
路線図をクリックすると、クリックした駅の緯度経度を中心点にします。

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

ソースコードと解説

路線図を表示するには、ZDC.RailwayMapクラスを利用します。

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

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

        /* 路線図を表示 */
        var obj = {
            mapNo: '2',
            callback: showRailwayMap,
            mainMap: document.getElementById('area'),
            subMap: document.getElementById('subarea')
        };
        smap = new ZDC.RailwayMap(obj);
    };

    /* 「路線図表示」ボタン押下時に動作 */
    function addRailwayMap() {
        /* 再作成のために、路線図があれば消す */
        if (smap) {
            smap.removeMainMap();
            smap.removeSubMap();
        }
        document.getElementById('area').style.visibility = 'visible';
        document.getElementById('subarea').style.visibility = 'visible';

        /* 路線図を表示 */
        var obj = {
            mapNo: document.getElementById('mapNo').value,
            callback: showRailwayMap,
            mainMap: document.getElementById('area'),
            subMap: document.getElementById('subarea')
        };
        smap = new ZDC.RailwayMap(obj);
    };

    /* 路線図の駅クリック時に動作 */
    var showRailwayMap = function(rtn) {
        /* 再作成のために、路線図があれば消す */
        if (smap) {
            document.getElementById('area').style.visibility = 'hidden';
            document.getElementById('subarea').style.visibility = 'hidden';
            smap.removeMainMap();
            smap.removeSubMap();
        }
        /* 路線図をクリックした位置を取得して地図を移動 */
        map.moveLatLon(rtn.latlon);
    };

</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="area" style="position: absolute; top: 540px; left: 20px; overflow: hidden; border: 1px solid; width:500px;height:400px;"></div>
    <div id="subarea" style="position: absolute; top: 540px; left: 20px; overflow: hidden; border: 1px solid;"></div>
    <div id="IBox" style="top:510px; left:20px; position:absolute;">
        <select name="mapNo" id="mapNo" >
            <option value='1'>札幌</option>
            <option value='2' selected="selected">仙台周辺</option>
            <option value='3'>首都圏</option>
            <option value='4'>愛知周辺</option>
            <option value='5'>京都</option>
            <option value='6'>大阪周辺</option>
            <option value='7'>福岡周辺</option>
        </select>
        <input type="button" value="路線図表示" onclick="addRailwayMap();">
    </div>
</body>
</html>