没有内置功能。我发现超时比设定的准确性更好。通常在 iPhone 上,精度不会超过 100 米左右,因此继续检查是否更好是浪费。使用watchPosition()
效果最好,它似乎是三角测量,所以在三个读数之后它很少会变得更好。我只是等了五秒钟然后停下来。
演示:http: //jsfiddle.net/ThinkingStiff/3k859/
HTML:
<div id="result"></div>
脚本:
function setGeolocation() {
var geolocation = window.navigator.geolocation.watchPosition( function ( position ) {
document.getElementById( 'result' ).innerHTML +=
'lat: ' + position.coords.latitude + ', '
+ 'lng: ' + position.coords.longitude + ', '
+ 'accuracy: ' + position.coords.accuracy + '<br />';
},
function () {
//error
},
{
maximumAge: 250,
enableHighAccuracy: true
}
);
window.setTimeout( function () {
window.navigator.geolocation.clearWatch( geolocation )
}, 5000 );
};
setGeolocation();