我想知道是否有人可以帮助我。
我正在尝试为this页面组合反向地理编码功能,用户点击地图标记并执行反向地理编码,使用输出地址填充文本字段。
在我从本网站收到一些很好的建议后,我以为我已经解决了这个问题,但我似乎无法解决我的问题。
我可以使用标记lat和lng坐标填充文本字段,但我无法从反向地理编码中获取任何输出。
我已经浏览了JS Fiddle的代码,并且Javscript没有问题,我一直在看一些在线教程,但我不知道我哪里出错。
我只是想知道是否有人可以看看这个,让我知道我哪里出错了。
非常感谢
答案 0 :(得分:0)
我再次浏览了我的代码,并意识到它不太正确。
反向地理编码脚本应如下所示:
(function reversegeocode() {
var lat = document.getElementById('findosgb36lat').value;
var lng = document.getElementById('findosgb36lon').value;
var latlng = new google.maps.LatLng(lat, lng);
getAddress(latlng);
return false;
}
)
function geocodePosition(pos) {
geocoder.geocode({
latLng: pos
},
function(responses) {
if (responses && responses.length > 0) {
updateMarkerAddress(responses[0].formatted_address);
} else {
updateMarkerAddress('Cannot determine address at this location.');
}
});
}
function updateMarkerAddress(str) {
document.getElementById('address').value = str;
}
function getAddress(latlng) {
if (!geocoder) {
geocoder = new google.maps.Geocoder();
}
geocoder.geocode({
'latLng': latlng
}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
// Looping through the result
for (var i = 0; i < results.length; i++) {
if (results[0].formatted_address) {
document.getElementById('address').value = results[0].formatted_address;
}
}
}
}
)
}