Javascript 谷歌地图:返回在反向地质涂层中不起作用

Javascript 谷歌地图:返回在反向地质涂层中不起作用,javascript,google-maps-api-3,return,return-value,anonymous-function,Javascript,Google Maps Api 3,Return,Return Value,Anonymous Function,我正在尝试反向编码它的工作,但我不能得到返回值 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) {

我正在尝试反向编码它的工作,但我不能得到返回值

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.

             }  
         }
      } 
  });
}
return reverseGeoAddress; is inside anonymous function.
当我调用我的函数时

   var address = reverseGeoCode(31.518945,74.349316);
现在每次我的地址变量是“未定义”; 为什么这样做??
有任何提示吗?

函数
reverseGeoCode
没有任何返回值

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.

             }  
         }
      } 
  });
}
return reverseGeoAddress; is inside anonymous function.
简单的修复方法是-您可以使用回调,因为它是异步函数。“回调”可以是您调用的位置的处理程序

// 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);
             }  
         }
      } 
  });
}

函数
reverseGeoCode
没有任何返回值

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.

             }  
         }
      } 
  });
}
return reverseGeoAddress; is inside anonymous function.
简单的修复方法是-您可以使用回调,因为它是异步函数。“回调”可以是您调用的位置的处理程序

// 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);
             }  
         }
      } 
  });
}