javascript 使用定时回退请求用户位置

bn31dyow  于 2023-01-16  发布在  Java
关注(0)|答案(1)|浏览(91)

我想弄清楚客户的立场是什么。
理想情况下,他们会接受navigator.geolocation.getCurrentPosition,但如果他们不接受,我想做一个ip查找回退,如果失败,我想只依靠时区来大致定位客户端的位置。
我已经做了所有这些,但是如果用户忽略了弹出窗口,navigator.geolocation.getCurrentPosition不会触发错误,timeout选项似乎是解析位置需要多长时间,而不是请求保持多长时间。
有没有一种好方法可以在10秒后自动取消地理跟踪请求弹出窗口,然后退回到不太准确的位置?

jgwigjjp

jgwigjjp1#

不要使用navigator.geolocation.getCurrentPosition,而是使用navigator.geolocation.watchPosition 10秒钟。

let watchId = navigator.geolocation.watchPosition(successFunction, errorFunction, {timeout: 10000});

超时后,返回到另一种确定位置的方法。
文件:https://developer.mozilla.org/en-US/docs/Web/API/Geolocation/watchPosition

相关问题