2016-04-30 10 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

あなたが望むものと持てるものは、2つの異なるものです。 Cordova/Phonegapのほとんどすべてが非同期です。つまり、var p = navigator.geolocation.getCurrentPosition(onSuccess, onError);を実行できません。 には、onSuccess関数を使用して値を返すためのがあります。

エラーがなく、onSuccessにある場合は、コードが継続され、返された位置が使用されます。つまり、おそらくコードをリファクタリングしたり、ワークフローを再考したりする必要があります。