我想寫,返回表示該設備的位置的對象的功能:我曾嘗試:我已經添加了註釋標記語句1和語句2。如果的PhoneGap:變量的作用域
function getDevicePosition() {
var positionObject;
if (isDeviceReady) {
navigator.geolocation.getCurrentPosition(function (position) {
positionObject = position;
console.log('location updated');
console.log(positionObject.coords.longitude);//1. works
}, function (err) {
console.log('Failed to get device position' + err);
return null;
});
} else {
warnUser();
return null;
}
console.log(positionObject.coords.longitude);//2. doesnt work as positionObject is null.
return positionObject;
}
公告我在語句1中初始化了位置對象。爲什麼它在語句2中未定義?
如果是這樣的話,我該如何從回調中返回位置對象,以便它從getDevicePosition()函數返回。 –
你不能。在回調中做你需要做的事情。你可以讓你的'getDevicePosition'函數接受它自己的回調函數,然後從'getCurrentPosition'回調中調用它。 –