2016-04-30 123 views
1

我試圖從navigator.geolocation.getCurrentPosition函數返回位置值。來自Cordova的getCurrentPosition的返回值

this科爾多瓦文檔navigator.geolocation.getCurrentPosition使用onSuccessonError函數來得到這個職位,但我需要的是這樣的:

var onSuccess = function(position) { 
    alert('Latitude: ' + position.coords.latitude + '\n' + 'Longitude: ' + position.coords.longitude + '\n' + 'Altitude: ' + position.coords.altitude   + '\n' + 'Accuracy: ' + position.coords.accuracy + '\n' + 'Altitude Accuracy: ' + position.coords.altitudeAccuracy + '\n' + 'Heading: ' + position.coords.heading + '\n' + 'Speed: ' + position.coords.speed + '\n' + 'Timestamp: ' + position.timestamp + '\n'); 
}; 
// onError Callback receives a PositionError object 
function onError(error) { 
    alert('code: ' + error.code + '\n' + 'message: ' + error.message + '\n'); 
} 

而我想要的是:

var p = navigator.geolocation.getCurrentPosition(onSuccess, onError); 

我應該如何恢復從navigator.geolocation.getCurrentPosition到p的值?

回答

2

你想要什麼,你可以擁有兩種不同的東西。 Cordova/Phonegap中的幾乎所有內容都是異步的,這意味着您不能執行var p = navigator.geolocation.getCurrentPosition(onSuccess, onError);。你使用onSuccess函數返回值。

如果沒有錯誤,並且您位於onSuccess,則這是代碼繼續的位置,並且將使用返回的位置。這意味着您可能必須重構代碼和/或重新考慮工作流程。