緯度経度を表示するボックスを表示する

実行結果

次の例では、地図の中心点の緯度経度を表示するボックスを表示します。

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

ソースコードと解説

地図の中心点の緯度経度を表示するボックスを表示するには、ZDC.MapクラスのgetLatLon()と、ZDC.addListener()を利用します。

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


<style type="text/css">
div#centerInfoBox {

    /* 角丸の設定 */
    border-radius: 10px;
    -moz-border-radius: 10px;
    -webkit-border-radius: 10px;
    border: 2px #CCCCCC solid;

    width: 120px;
    background-color: #FFFFFF;

    /* 半透明の設定 */
    filter: alpha(opacity=75);
    -moz-opacity: 0.75;
    opacity: 0.75;

    /* 配置場所の設定 */
    position: absolute;
    top: 10px;
    left: 620px;
    z-index: 10;

    font-size: 78%;

    /* 選択禁止 */
    user-select: none;
    -moz-user-select: none;
    -khtml-user-select: none;
    -webkit-user-select: none;
    -o-user-select: none;
}

div#wrpper {
    padding: 5px;
}
</style>

<script type="text/javascript">

var map,
    lat = 35.6778614, lon = 139.7703167,
    latlon = new ZDC.LatLon(lat, lon);

function loadMap() {
    map = new ZDC.Map(
    document.getElementById('ZMap'),{
        latlon: new ZDC.LatLon(lat, lon),
        zoom: 8,
        mapType: ZDC.MAPTYPE_HIGHRES_LV18
    });

    /* スケールバーを作成 */
    map.addWidget(new ZDC.ScaleBar());
    /* 通常のコントロールを表示 */
    map.addWidget(new ZDC.Control());

    centerInfoBox(latlon);
    /* 地図のドラッグを終了したときの動作 */
    ZDC.addListener(map, ZDC.MAP_DRAG_END, callback);
    /* 地図の縮尺レベルを変更したときの動作 */
    ZDC.addListener(map, ZDC.MAP_CHG_ZOOM, callback);
};

function callback(){
    var latlon = this.getLatLon();
    centerInfoBox(latlon);
};

function centerInfoBox(ll) {

    /* 度分秒形式に変換 */
    lon = ZDC.degTodms(ll.lon);
    lat = ZDC.degTodms(ll.lat);

    var lon_txt = 'E '+lon.deg+'°'+lon.min+'′'+lon.sec+'″',
        lat_txt = 'N '+lat.deg+'°'+lat.min+'′'+lat.sec+'″';

    document.getElementById('lon-area').innerHTML = lon_txt;
    document.getElementById('lat-area').innerHTML = lat_txt;
};

</script>
</head>

<body onload="loadMap();">
    <div style="position:absolute;">
        <div id='centerInfoBox'>
            <div id=wrpper>
                <div id='lon-area'></div>
                <div id='lat-area'></div>
            </div>
        </div>
        <div id="ZMap" style="border:1px solid #777777; width:750px; height:500px; top:0px; left:20px; position:absolute;"></div>
    </div>
</body>
</html>