我正在开发一张地图,通过
navigator.geolocation.watchPosition
跟踪用户的位置以到达目的地。现在我想要的是当用户登录门户网站时实时跟踪用户的位置,为此我正在使用手表位置,它可以帮助我立即更新用户的最新位置。我面临的问题是当用户更改选项卡或在后台移动选项卡时,或者当浏览器变得不活动时watchPosition
停止获取位置,因此我无法实时更新位置。为此,我也尝试使用 navigator.geolocation.getCurrentPosition
,但我经历的是,虽然 getCurrentPosition
api 被触发,但它没有返回位置,但一旦我移回选项卡,我就开始接收位置。
我已经通过
service-worker
研究了一些可能的解决方案,但由于它的限制,我们将无法通过它获取位置。
如果有人能为我的问题提出可能的解决方案,那就太好了?
对于您的用例,JavaScript(或者至少您想要的实现方式)似乎并不是最适合您的项目的技术。网页无法在后台检索用户位置,如果有的话,这会带来大量隐私问题,用户可能会在后台不知不觉地被网页跟踪。相反,请考虑使用本机应用程序来检索位置数据,这可以在您的用户设备上注册为服务,以便它可以在后台运行。