次の例では、地図の中心点の緯度経度を表示するボックスを表示します。
地図の中心点の緯度経度を表示するボックスを表示するには、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>