【问题标题】:navigator.geolocation.getCurrentPosition has stopped workingnavigator.geolocation.getCurrentPosition 已停止工作
【发布时间】:2014-05-22 15:18:54
【问题描述】:

我正在开发一个针对 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 次,但在此之后没有调用成功回调函数,有时它会在浏览器上显示用户拒绝弹出窗口。

【问题讨论】:

  • 我在 Chrome 上运行良好,你的控制台有错误?
  • 是的,我已经检查过了。实际上,当我从另一台机器上运行该项目时,它又可以运行 6-7 次。所以想知道是否有任何限制。
  • @radia : 显示间隔后超时

标签: javascript cordova geolocation


【解决方案1】:

您可以尝试以下选项:

{timeout: 30000, enableHighAccuracy: true, maximumAge: 75000}

//navigator.geolocation.getCurrentPosition(successCallback, errorCallback, {timeout: 30000, enableHighAccuracy: true, maximumAge: 75000});

enableHighAccuracy – 一个布尔值(真/假),向设备指示您希望获得最准确的读数(此参数可能会或可能不会有所不同,具体取决于您的硬件)

maximumAge – 读数的最大年龄(以毫秒为单位)(这是适当的,因为设备可能会缓存读数以节省电力和/或带宽)

timeout – 您准备允许设备尝试获取地理位置的最长时间(以毫秒为单位)

【讨论】:

  • 今天它工作正常,但只在模拟器上运行,当我在实际的 iOS 设备上运行它时它工作一次然后停止
  • 设备可以缓存 geoloc 值以节省电量,此解决方案可帮助您强制更新信息。你至少试过了吗?你可以设置你需要的值我只是举个例子
猜你喜欢
  • 2016-04-26
  • 2014-10-10
  • 2016-12-14
  • 2018-02-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多