0
我想使用鈦reverseGeocoder,但我有一個奇怪的問題,我認爲是一個「範圍」問題。我不明白爲什麼當我定義了該範圍內的變量時,我所做的最後一次日誌調用返回空值。加速器鈦 - 反向地理編碼器和可變範圍問題
var win = Titanium.UI.currentWindow;
Ti.include('includes/db.js');
var city = null;
var country = null;
Titanium.Geolocation.reverseGeocoder( Titanium.UI.currentWindow.latitude,
Titanium.UI.currentWindow.longitude,
function(evt) {
var places = evt.places;
if (places && places.length) {
city = places[0].city;
country = places[0].country;
}
Ti.API.log(city + ', ' + country); // <<< RETURNS CORRECT VALUES
});
Ti.API.log(city + ', ' + country); // <<< RETURNS NULL VALUES
儘管它看起來是異步的,但是它不會使用那個庫,所以它會給它一個與ajax調用完全相同的行爲。請看這個問題剛剛關閉:http://stackoverflow.com/questions/7833379/scope-of-javascript-variable – davin
這是一個類似的情況,我需要一種方法來只分配變量一旦geocoder已完成。 – bagwaa
你嘗試過在設備上還是在使用模擬器? –