我正在尝试编写一个返回表示设备位置的对象的函数:我尝试过:
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 的注释。如果我在语句 1 中初始化位置对象。为什么它在语句 2 中未定义?