我正在开发针对iOS平台的phonegap应用。我想捕获用户的地理位置。 我使用下面的代码,这个工作正常,并突然停止工作
<script type="text/javascript">
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');
}
navigator.geolocation.getCurrentPosition(onSuccess, onError);
</script>
上面的代码返回纬度和经度大约7次,但之后成功回调函数没有被调用,有时它会在浏览器上显示用户拒绝弹出窗口。
答案 0 :(得分:0)
您可以尝试以下选项:
{timeout: 30000, enableHighAccuracy: true, maximumAge: 75000}
//navigator.geolocation.getCurrentPosition(successCallback, errorCallback, {timeout: 30000, enableHighAccuracy: true, maximumAge: 75000});
enableHighAccuracy - 一个布尔值(true / false),它向设备指示您希望获得最准确的读数(此参数可能会有所不同,具体取决于您的硬件)
maximumAge - 读数的最大年龄(以毫秒为单位)(这是合适的,因为设备可能会缓存读数以节省功耗和/或带宽)
timeout - 您准备允许设备尝试获取地理位置的最长时间(以毫秒为单位)