Javascript navigator.geolocation.getCurrentPosition已停止工作
我正在开发一款针对iOS平台的phonegap应用程序。我想捕获用户的地理位置。 我正在使用下面的代码,它在一段时间内运行良好,但突然停止工作Javascript navigator.geolocation.getCurrentPosition已停止工作,javascript,cordova,geolocation,Javascript,Cordova,Geolocation,我正在开发一款针对iOS平台的phonegap应用程序。我想捕获用户的地理位置。 我正在使用下面的代码,它在一段时间内运行良好,但突然停止工作 <script type="text/javascript"> var onSuccess = function(position) { alert('Latitude: ' + position.coords.latitude + '\n' +
<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>
var onSuccess=函数(位置){
警报('Latitude:'+position.coords.Latitude+'\n'+
'经度:'+position.coords.Longitude+'\n'+
'高度:'+position.coords.Altitude+'\n'+
'精度:'+position.coords.accurity+'\n'+
'高度精度:'+position.coords.altitudeAccuracy+'\n'+
'标题:'+position.coords.Heading+'\n'+
'速度:'+position.coords.Speed+'\n'+
'时间戳:'+position.Timestamp+'\n');
};
//OneError回调接收PositionError对象
//
函数onError(错误){
警报('code:'+error.code+'\n'+
'消息:'+error.message+'\n');
}
navigator.geolocation.getCurrentPosition(onSuccess,onError);
上面的代码返回纬度和经度约7次,但成功后,不会调用回调函数,有时会在浏览器上显示“用户拒绝”弹出窗口。您可以尝试以下选项:
{timeout: 30000, enableHighAccuracy: true, maximumAge: 75000}
//navigator.geolocation.getCurrentPosition(successCallback, errorCallback, {timeout: 30000, enableHighAccuracy: true, maximumAge: 75000});
EnableHighAccurance–一个布尔值(真/假),它向设备指示您希望获得最准确的读数(此参数可能会产生差异,也可能不会产生差异,具体取决于您的硬件)
maximumAge–读取的最长时间(以毫秒为单位)(这是适当的,因为设备可能缓存读取以节省电源和/或带宽)
超时–您准备允许设备尝试获取地理位置的最长时间(以毫秒为单位)
它在Chrome上对我很好,你的控制台有错误吗?检查这个是的,我已经检查过了。实际上,当我从另一台机器上运行这个项目时,它又运行了6-7次。所以我想知道是否有任何限制。@radia:它显示间隔后超时今天它工作正常,但仅在模拟器上,当我在实际的iOS设备上运行它时,它工作一次,然后停止设备可以缓存geoloc值以节省电能,此解决方案帮助您强制更新信息。你至少试过了吗?你可以设定你需要的值我只是举个例子