使用位置服务在移动safari中使用geolocation.watchPosition()

时间:2016-10-30 02:56:07

标签: ios geolocation mobile-safari location-services

输出地理坐标仅在第一次加载时准确,问题是当iPhone屏幕超时且位置服务也超时时。如果我再次打开野生动物园,地理坐标会偏离100米。如果我将safari应用程序推送到后台,也会发生同样的事情。如果我重新加载请求地理定位的safari选项卡,或者如果我清除safari应用程序缓存并再次打开safari,问题就解决了。为什么会这样?我的用例包括向用户显示指向目的地的箭头。因此,电话可能偶尔会因用户而超时,从而导致位置服务超时。 iOS chrome不会模仿这种行为并按预期工作,即地理坐标总是在焦点和/或屏幕超时后选项卡上的准确事件。

1 个答案:

答案 0 :(得分:0)

我不知道为什么会发生这种情况,但它也发生在我身上。我能够通过使用window.setInterval每隔5秒左右调用一个函数来检查该位置是否已更新。如果没有,则该功能停止并重新启动地理定位监视。

重新启动地理定位手表与重新加载页面具有相同的效果,即精度再次变得更好,并且位置更新恢复。希望有所帮助!