我反对地理编码非常新。我已设法在地图上放置一个可拖动的标记,当放下时,使用以下代码将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>
这很好但我也想将街道名称捕获到文本框但是丢失了。我知道我不能使用&#39; point&#39;并且必须定义一个功能,但我完全迷失了,谷歌的搜索对我这样的人来说没有任何用处。
任何指针都会受到赞赏。
由于
答案 0 :(得分:1)
我认为答案在这里: http://code.google.com/apis/maps/documentation/javascript/services.html#ReverseGeocoding
但您需要升级到Google Maps API的第3版。