回调以获取地理编码的结果

时间:2016-09-19 19:57:50

标签: javascript jquery callback google-geocoder

我在我的代码中使用了一个函数getLatLong()。我希望它从给定的地址返回纬度和经度。

function getLatLong(address) {
var geocoder = new google.maps.Geocoder();
geocoder.geocode( { 'address': address, 'region': 'uk' }, function(results, status) {
     if (status == google.maps.GeocoderStatus.OK) {

         lat = results[0].geometry.location.lat(); 
         lng = results[0].geometry.location.lng();
         return [lat, lng];

     } else {
         return ("Unable to find address: " + status);
     }
});

}

希望能够getLatLong("London SW1A 1AA");我似乎无法让它发挥作用。它不断返回undefined。经过一番研究后,我发现我必须使用回调,但我不能为我的生活弄清楚如何去做。

1 个答案:

答案 0 :(得分:0)

您确定要坚持使用Google Geocoding API吗?您可以使用此MDN doc尝试HTML5 Geolocation API。此API非常新,因此请务必查看w3schools

上的浏览器兼容性