【问题标题】:HTML 5 geolocation api shows wrong positionHTML 5 geolocation api显示错误的位置
【发布时间】:2015-02-20 21:43:06
【问题描述】:
我真的很努力地寻找它,但我没有找到答案。我面临的问题是,我编写了一个基于开放街道地图和地理定位 api 的城市音频之旅应用程序。
所以我面临的问题是,如果我从我的 iphone 通过 G3 访问应用程序,我有时会得到一个完全不合适的位置,(通常相同,在城市的某个地方),但如果我使用谷歌地图应用程序,我会得到一个最佳位置。我不明白这样一个事实,即如果我从 safari 和应用程序拨打相同的电话,我会得到不同的结果。
我使用带有以下选项的“navigator.geolocation.watchPosition”:
启用高精度:真,
超时:50000,
最大年龄:0
我真的很感激,如果有人也遇到过这个问题并有解决方案,会帮助我。同样发生的情况是,如果我打开 Web 应用程序并且我的 iphone 进入电源安全模式并重新激活它,那么这个位置就会变得非常疯狂。
【问题讨论】:
标签:
api
geolocation
location
【解决方案1】:
我的代码真的很长很复杂,但也许这会有所帮助:
options = {
enableHighAccuracy: true,
timeout: 50000,
maximumAge: 0
};
watchID = navigator.geolocation.getCurrentPosition( function(position) {
map.setCenter(lonLat, zoom );
}, function(error) { alert('Cannot determine your location! Check if you enabled geolocation for your browser.');}, options);
watchID = navigator.geolocation.watchPosition( function(position) { Here is the function!}
geolocationError,
{
enableHighAccuracy: true,
timeout: 50000,
maximumAge: 0
}
}
);