私は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 );