1

我正在为移动设备开发一个网络应用程序并使用 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 事件吗?

谢谢!

4

1 回答 1

0

没有以您可以从 Web 应用程序代码中看到的方式公开的此类事件。当然,标准Geolocation API 规范中没有定义这样的事件。而且我不相信任何浏览器都会为它公开任何非标准事件。所以我不认为你将能够自动重新触发对你的enableWatchPosition()函数的调用。

我确定这不是您希望的答案,但这就是答案。:-(

于 2015-09-01T05:24:40.917 回答