0

我试图找到一组纬度经度值并将其分配给一个变量。我的代码看起来像这样

var k = findLattitudeLongitude("Italy");
console.log(k) // comes undefined
function findLattitudeLongitude(input){
    var geocoder = new google.maps.Geocoder();
    geocoder.geocode( { 'address': input}, function(results, status) {
      var location = results[0].geometry.location;
        return location;

    });
   }

但它是未定义的。实现上述要求的最佳方法是什么。还有其他方法吗?

4

2 回答 2

1

其实你的做法是对的。

问题是收到的响应Google geocoder需要一些时间。

为了更好地理解,我创建了一个小提琴

于 2013-08-21T09:27:00.540 回答
1

奇怪的是函数返回未定义,你可以做的是调用另一个函数,这种方式对我来说很好,你可以像下面的代码或整个对象一样传递纬度和经度参数

$( document ).ready(function() {
function   getlatlan(){
geocoder = new google.maps.Geocoder();
geocoder.geocode( { 'address': "Italy"}, function(results, status) {
  if (status == google.maps.GeocoderStatus.OK) {
         dosome(results[0].geometry.location.nb,results[0].geometry.location.mb)
     return true;

    ;
}});
}
function dosome(lat,lng){
console.log(lat,lng);
}
getlatlan();
});
于 2013-08-21T08:59:30.670 回答