首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用geocode()

如何使用geocode()
EN

Stack Overflow用户
提问于 2012-12-13 15:05:25
回答 1查看 526关注 0票数 0

可能重复: Reverse Geocode On Google Maps api v3

我希望使用lang值来查找地址,因为我使用的是新的google.maps.Geocoder().geocode(),下面是该方法的实现

代码语言:javascript
复制
function checkAddress(){
  var address="";
  var amstr = new google.maps.LatLng(37.556179,-122.288219);
  address = getAddress(amstr);
  alert(address);

}

function getAddress(latLng) {
    var geocoder = new google.maps.Geocoder();
        geocoder.geocode( {'latLng': latLng},
        function(results, status) {
         if(status == google.maps.GeocoderStatus.OK) {
          if(results[0]) {            
        return results[0].formatted_address;
          }
          else {
            return "No results";
          }
        }
        else {
          return "not working";
        }
      });
    }

但在运行以上代码后,结果是“未定义”。请告诉我我在哪里做错了。

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-12-13 15:25:51

geocoder.geocode()是异步的。它只在其余代码完成后的某个时间调用您的回调。

您需要在回调中返回值:

代码语言:javascript
复制
function getAddress(latLng, callback) {
    ...
    geocoder.geocode(..., function(...) {
        ...
        callback(someValue);
    });
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13862645

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档