我的问题: 需要从我的移动浏览器(使用 iphone 测试)加载两个页面才能获得准确的结果。第一个负载将偏离半英里或更远,然后第二个负载将非常接近。
我的问题: 需要做什么才能在第一次加载时获得准确的位置?
额外信息:
我已经阅读了http://www.w3.org/TR/geolocation-API/并且正在使用带有 enableHighAccuracy 的 watchPosition。另外我正在使用 maximumAge:0 并且未设置超时。
来自http://www.w3.org/TR/geolocation-API/
如果 maximumAge 设置为 0,则实现必须立即尝试获取新的位置对象
用于超时属性的默认值为 Infinity
我的代码在下面列出
// Try HTML5 geolocation
if(navigator.geolocation) {
// updated this with watchPosition rather than getCurrentPosition
navigator.geolocation.getCurrentPosition(function(position) {
var pos = new google.maps.LatLng(position.coords.latitude,
position.coords.longitude);
var infowindow = new google.maps.InfoWindow({
map: map,
position: pos,
content: 'Location found using HTML5.'
});
map.setCenter(pos);
}, function() {
handleNoGeolocation(true);
},
// enable high accuracy
// {maximumAge:100, timeout:5000, enableHighAccuracy: true}
//
{maximumAge:0, enableHighAccuracy: true}
);
} else {
// Browser doesn't support Geolocation
handleNoGeolocation(false);
}
}
function handleNoGeolocation(errorFlag) {
if (errorFlag) {
var content = 'Error: The Geolocation service failed.';
} else {
var content = 'Error: Your browser doesn\'t support geolocation.';
}