次の例では、クリックした地図の2点間の距離を表示します。
2点間の距離を取得するには、ZDC.getLatLonToLatLonDistance()を利用します。
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <script src="//test.api.its-mo.com/v3/loader?key=JSZddc5111626c8|Zo4wz&api=zdcmap.js,shape.js,geo.js,userwidget.js,control.js&enc=UTF8" type="text/javascript"></script> <style type="text/css"> </style> <script type="text/javascript"> var pl = null, flg = false, points = []; function loadMap() { var lat = 35.6778614, lon = 139.7703167; var map = new ZDC.Map( document.getElementById('ZMap'), { latlon: new ZDC.LatLon(lat, lon), zoom: 9, mapType: ZDC.MAPTYPE_HIGHRES_LV18 } ); map.pointerPositionOn(); /* スケールバーを作成 */ var scalebar = new ZDC.ScaleBar(); /* スケールバーを追加 */ map.addWidget(scalebar); /* コントロールを表示 */ map.addWidget(new ZDC.Control()); /* 結果表示用スタティックユーザウィジットを作成 */ var info = new ZDC.StaticUserWidget( new ZDC.TL(10, 10), { html: '<div id="ret" style="background-color: #FFFFFF; border:1px ' + 'solid #777777; width:110px; height:18px; padding: 5px">' + '2点をクリック</div>' } ); /* 結果表示用スタティックユーザウィジットを追加 */ map.addWidget(info); info.open(); /* 地図をクリックしたときの動作 */ ZDC.addListener(map, ZDC.MAP_CLICK, function() { if (pl) { this.removeWidget(pl); } var click = this.getPointerPosition(); if (!flg) { points[0] = click; } else { points[1] = click; } flg = !flg; if (points.length == 1) { return; } /* 距離を取得 */ var dist = ZDC.getLatLonToLatLonDistance(points[0], points[1]); document.getElementById('ret').innerHTML = dist + ' m'; /* 確認用の図形を地図に表示 */ pl = new ZDC.Polyline(points); this.addWidget(pl); }); }; </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>