gpt4 book ai didi

javascript - 谷歌地图 : Return is Not working in Reverse Geocoading

转载 作者:行者123 更新时间:2023-11-28 16:12:47 27 4
gpt4 key购买 nike

我正在尝试 ReverseGeCoding 它的工作,但我无法获得返回值

function reverseGeoCode(lat,lng) {
var reverseGeoAddress = '';
var geocoder = new google.maps.Geocoder();
var latlng = new google.maps.LatLng(lat, lng);
geocoder.geocode({'latLng': latlng}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
if (results[1]) {
if(results[1].formatted_address.length){
reverseGeoAddress = results[1].formatted_address;
//NOTE: when i console.log(reverseGeoAddress );
//its working fine i am getting the address
return reverseGeoAddress;
//but return not working.

}
}
}
});
}

当我像这样调用我的函数时

   var address = reverseGeoCode(31.518945,74.349316);

现在每次我的地址变量都是“未定义”时;为什么会这样?有什么提示吗?

最佳答案

函数reverseGeoCode没有任何返回值

return reverseGeoAddress; is inside anonymous function.

简单的修复是 - 您可以使用回调,因为它是异步函数。 “callback”可以是您调用位置的处理程序。

// Invoking reverseGeoCode....
reverseGeoCode(lat,lng, function(myAddress){
// Your custom code goes here...
});

function reverseGeoCode(lat,lng, callback) {
var reverseGeoAddress = '';
var geocoder = new google.maps.Geocoder();
var latlng = new google.maps.LatLng(lat, lng);
geocoder.geocode({'latLng': latlng}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
if (results[1]) {
if(results[1].formatted_address.length){
reverseGeoAddress = results[1].formatted_address;
// Callback the handler if it exists here
// No return value
callback(reverseGeoAddress);
}
}
}
});
}

关于javascript - 谷歌地图 : Return is Not working in Reverse Geocoading,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12420577/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com