Google maps api 3 如何使用地理代码()

Google maps api 3 如何使用地理代码(),google-maps-api-3,reverse-geocoding,Google Maps Api 3,Reverse Geocoding,可能重复: 我想使用lat lang值来查找地址,因为我正在使用新的google.maps.Geocoder().geocode() 下面是该方法的实现 function checkAddress(){ var address=""; var amstr = new google.maps.LatLng(37.556179,-122.288219); address = getAddress(amstr); alert(address); } function getAdd

可能重复:

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

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";
        }
      });
    }
但在运行上述代码之后,我得到了“未定义”的结果。 请告诉我哪里做错了

谢谢

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

您需要在回调中返回值:

function getAddress(latLng, callback) {
    ...
    geocoder.geocode(..., function(...) {
        ...
        callback(someValue);
    });
}

欢迎来到异步的精彩世界!你们不能这样做。那个么应该怎么做才能从lat LNGCA那个里得到地址?你们能给我举个例子吗?因为我不知道怎么做that@SLaks,他正在使用一个回调函数(匿名函数内联),但它并没有返回到他期望的位置现在我明白了!!!谢谢SLaks&Marcelo!!!!