我已经开始创建一个参考this tutorial的运动跟踪应用程序 一切正常。
但在我停止追踪并前往地图后,我发现公里数远远超过了我已经过去的公里数,而地图显示我已经在某些点确定我不能那里...
(因为我没有手机中的图像,我已经模拟了带附加图像的地图结果......) 代码与教程代码相同(修正了处理删除var的错误 - 对于那些了解本教程的人来说......) 有什么问题?
答案 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 );