-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 に答える