Yahoo マップにマーカーを配置したいデータベースの住所のリストがあります。YMapのaddMarker()
メソッドは、緯度と経度を必要とする YGeoPoint を取ります。ただし、Yahoo マップは住所を取得できるため、住所から変換する方法を知っている必要がdrawZoomAndCenter(LocationType,ZoomLevel)
あります。drawZoomAndCenter()
thenを使用して変換できgetCenterLatLon()
ますが、ドローを必要としないより良い方法はありますか?
Nick Fortescue
質問する
1004 次
2 に答える
1
マップ オブジェクトにジオコーディングを実行するように要求し、コールバックをキャッチできます。
<script type="text/javascript">
var map = new YMap(document.getElementById('map'));
map.drawZoomAndCenter("Algeria", 17);
map.geoCodeAddress("Cambridge, UK");
YEvent.Capture(map, EventsList.onEndGeoCode, function(geoCode) {
if (geoCode.success)
map.addOverlay(new YMarker(geoCode.GeoPoint));
});
</script>
注意すべき点が 1 つあります。この例では、drawAndZoom
呼び出し自体が geoCoding 要求を行うため、そこからもコールバックを取得します。それを除外するか、GeoPoint に基づいてマップの中心を設定することができます。
于 2008-09-17T09:47:11.630 に答える
-1
米国の住所を扱っている場合は、APIを備えたgeocoder.usを使用できます。
また、Google Maps Hacksには「Hack 62. 住所の緯度と経度を調べる」というハックがあります。
于 2008-09-16T15:32:18.703 に答える