【问题标题】:Phonegap Geolocation jumpsPhonegap 地理位置跳跃
【发布时间】:2013-10-24 03:33:01
【问题描述】:

我已经开始创建一个运动跟踪应用程序,参考this tutorial 一切正常。

但是在我停止跟踪并转到地图后,我看到公里数比我肯定经过的公里数要多得多,而且地图显示我在某些地方肯定无法到达那里...

(因为我没有手机中的图像,所以我用附加的图像模拟了地图的结果......) 该代码与教程代码相同(修正了处理删除 var 的错误 - 对于那些了解本教程的人......)) 有什么问题?

【问题讨论】:

  • 根据我在创建基于位置的应用程序时使用任何 GPS 接收器设备的经验(无论是哪个平台):当您在一个地方保持静止或受到多路径干扰时,GPS接收器会给出跳跃的位置。建议包含一个距离过滤器,以忽略任何超过您每次 GPS 刷新预期的相对距离。
  • 参见esri.com/news/arcuser/0103/differential1of2.html中的一些限制段落

标签: android cordova geolocation


【解决方案1】:

我发现与eee 相同 - Android 在使用 GPS 时会间歇性地提供非常不准确的位置,所以最好的办法是使用精度过滤器,如下所示:

var MinimumAccuracy = 20; // metres
var options = { maximumAge: 0, timeout: 30000, enableHighAccuracy: true };
var watchID;

function onSuccess(position){
  // Reject udpate if accuracy is not sufficient
  if(position.coords.accuracy > MinimumAccuracy){
      console.warn("Position update rejected because accuracy of"+position.coords.accuracy+"m is less than required "+MinimumAccuracy+"m");
      return;
  }

  /* else, do something with position */

}

function onError(error){
  // Log the error
  console.error("Error while retrieving current position. Error code: " + error.code + ",Message: " + error.message);
}

navigator.geolocation.watchPosition( onSuccess, onError, options );

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多