0

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

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

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

在此处输入图像描述

4

1 回答 1

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 );
于 2013-10-24T20:50:24.327 回答