デバイスの位置を表すオブジェクトを返す関数を作成しようとしています:
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 で未定義なのはなぜですか?