我正在开发一个移动网络应用程序并使用 html5 的地理定位 API。
加载页面后,我开始观察位置:
function enableWatchPosition() {
if (navigator.geolocation) {
watchPositionId = navigator.geolocation.watchPosition(locateByBrowser, handleErrorGettingLocation, {
timeout : 30000,
enableHighAccuracy : true,
maximumAge : 1000
});
}
}
如果用户没有打开 GPS,则会触发 handleErrorGettingLocation
,我会向他显示一条错误消息,要求他打开 GPS。
我的问题是:
假设用户随后打开了 GPS - 我如何检测到这一点(以便我可以重试并再次调用 enableWatchPosition()
)?我可以监听某种 js 事件吗?
谢谢!
最佳答案
不存在以您可以从 Web 应用程序代码中看到的方式公开的此类事件。当然,标准Geolocation API spec中并没有定义这样的事件。 。我不相信任何浏览器都会公开任何非标准事件。因此,我认为您无法自动重新触发对 enableWatchPosition()
函数的调用。
我确信这不是您希望的答案,但它就是答案。 :-(
关于javascript - html5 地理定位是否有 'GPS status changed' 事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31428293/