-2
geocoder.geocode( { 'address': full_address}, function(results, status) {
    lat = results[0].geometry.location.lat();
    lng = results[0].geometry.location.lng();
    alert(lat); // works perfectly
});
alert(lat); // doesn't return anything

为什么对象外的最后一个警报没有返回任何内容?有人知道怎么修这个东西吗?

4

1 回答 1

1

这可能是变量范围问题吗?如果变量是对象/函数的本地变量,则它可能不在该块之外定义。如果您在目标代码之前将 lat 和 lng 声明为全局,则可能没问题:

var lat;
var lng;

geocoder.geocode( { 'address': full_address}, function(results, status) {
lat = results[0].geometry.location.lat();
lng = results[0].geometry.location.lng();
alert(lat); // works perfectly
});
alert(lat); // doesn't return anything
于 2012-05-02T16:47:38.690 回答