1

我对反向地理编码很陌生。我已经设法在地图上放置了一个可拖动的标记,当放置该标记时,使用下面的代码将 Lat/Long 返回到表单上的文本框:

div id="map" style="width: 600px; height: 467px"></div>

<script type="text/javascript" src="http://maps.google.com/maps? 
file=api&v=2&key=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"></script>

<script type="text/javascript"> 
<!--
if (GBrowserIsCompatible()) 
{
// create map and add controls
var map = new GMap2(document.getElementById("map"));
map.addControl(new GLargeMapControl());        
map.addControl(new GMapTypeControl());
map.enableScrollWheelZoom();
//map.enableGoogleBar();

// set centre point of map
var centrePoint = new GLatLng('53.767789993998804', '-2.7046966552734375');
map.setCenter(centrePoint, 10); 

// add a draggable marker
var marker = new GMarker(centrePoint, {draggable: true});
map.addOverlay(marker);

// add a drag listener to the map
GEvent.addListener(marker, "dragend", function() {
var point = marker.getPoint();
map.panTo(point);
document.getElementById("latitude").value = point.lat().toFixed(5);
document.getElementById("longitude").value = point.lng().toFixed(5);

});
}

</script>

这很好用,但我也想将街道名称捕获到文本框中,但我迷路了。我知道我不能使用'point'来做到这一点并且必须定义一个函数但我完全迷失了,谷歌搜索对像我这样开始的人没有任何用处。

任何指针将不胜感激。

谢谢

4

1 回答 1

1

我认为答案在这里: http ://code.google.com/apis/maps/documentation/javascript/services.html#ReverseGeocoding

但是您需要升级到 Google Maps API 的第 3 版。

于 2011-11-09T11:08:07.450 回答