Phonegap Geolocation跳跃

时间:2013-10-24 03:33:02

标签: android cordova geolocation

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

但在我停止追踪并前往地图后,我发现公里数远远超过了我已经过去的公里数,而地图显示我已经在某些点确定我不能那里...

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

enter image description here

1 个答案:

答案 0 :(得分:0)

我发现与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 );