在此代碼:如何在全球範圍內訪問callbak函數變量的jQuery
$(document).ready(function() {
var lat = 0;
var lng = 0;
function getLatLng(address) {
var geocoder = new google.maps.Geocoder();
geocoder.geocode({'address': address}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
lat = results[0].geometry.location.lat(); //how do I access lat
lng = results[0].geometry.location.lng() //and lng outside function ormake it global
}
});
alert(lat); // does not display only show's the 0
}
getLatLng();
});
我想alert(lat)
展現緯度不爲零。
我該如何訪問?
在此先感謝!
警報是不是在回調函數裏面,所以它的實際運行* *地理編碼調用完成之前。向上移動1行。 – Archer
你已經在訪問'lat'了。問題在於'geocode'調用異步運行,並且在執行'alert'時尚未完成。你無法用蠻力來解決這個問題:在收到結果之前打印結果是不可能的。 – Jon
geocoder.geocode()是一個異步進程,因此您需要在回調函數中進行警報。 –