Return 来自 Cordova 中 getCurrentPosition 的值
Return value from getCurrentPosition in Cordova
我正在尝试 return 来自 navigator.geolocation.getCurrentPosition
函数的位置值。
在 this 中,Cordova 文档 navigator.geolocation.getCurrentPosition
使用 onSuccess
和 onError
函数来获取位置,但我需要这样的东西:
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);
我应该如何 return 从 navigator.geolocation.getCurrentPosition
到 p 的值?
你想要的和你能拥有的是两个不同的东西。 Cordova/Phonegap 中的几乎所有内容都是异步的,这意味着您不能执行 var p = navigator.geolocation.getCurrentPosition(onSuccess, onError);
。您必须使用onSuccess
函数来return值。
如果没有错误并且您在 onSuccess
,这就是您的代码继续的地方,并且将使用位置 returned。这意味着您可能必须重构代码 and/or 重新考虑您的工作流程。
我正在尝试 return 来自 navigator.geolocation.getCurrentPosition
函数的位置值。
在 this 中,Cordova 文档 navigator.geolocation.getCurrentPosition
使用 onSuccess
和 onError
函数来获取位置,但我需要这样的东西:
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);
我应该如何 return 从 navigator.geolocation.getCurrentPosition
到 p 的值?
你想要的和你能拥有的是两个不同的东西。 Cordova/Phonegap 中的几乎所有内容都是异步的,这意味着您不能执行 var p = navigator.geolocation.getCurrentPosition(onSuccess, onError);
。您必须使用onSuccess
函数来return值。
如果没有错误并且您在 onSuccess
,这就是您的代码继续的地方,并且将使用位置 returned。这意味着您可能必须重构代码 and/or 重新考虑您的工作流程。