1
我想使用谷歌地图地理编码将此地址字符串转换为LatLng对象。我相信因为这是一个异步调用,所以latlng被赋值为null。我能做些什么来使变量赋值以我想要的方式工作?如何将此地理编码请求分配给变量?
var latlng = codeAddress(address)
alert("Lat/lng is: " + latlng);
function codeAddress(address) {
geocoder.geocode({'address':address}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
return results[0].geometry.location;
} else {
alert("Geocode failed due to: " + status);
}
});
}
感谢您的回复。我想要做的是渲染一个谷歌地图,如果状态代码是成功的,否则,我不会渲染地图。有没有办法让一个JavaScript函数/任务块,直到另一个完成?或者也许我需要以不同的方式去做这件事? –
您可以在地理编码回调中调用您的函数,而不是'alert(latlng)'调用您的'render(latlng)'。 – Jiri
3年后,这仍然是有效的答案。谢谢 ! – Kaloyan