Chrome Android-启用“提高位置准确性”功能后,位置准确性很糟糕

时间:2019-11-19 18:34:54

标签: javascript android google-chrome geolocation

我正在Chrome Android的应用程序中使用HTML5 Geolocation API来获取位置信息。 这是代码(请注意,高精度是正确的):

navigator.geolocation.getCurrentPosition(..., {
timeout: 6000,
maximumAge: 1000,
enableHighAccuracy: true
})

当我在市区时,这种方法效果很好,但是无论我取回多少次,离开市区后,其精度都不会超过3000米。当我调用此方法时,GPS图标会瞬间出现,并且我会立即获得不准确的结果。看来Chrome甚至不用理会GPS来获取位置。如果我关闭了Google位置准确度=>提高电话设置中的位置准确度选项,那么一切似乎都可以正常运行,因为Chrome转到了GPS来获取我的位置。

如果我不禁用该选项,然后转到Google Maps获取我的位置,那么我会得到正确的位置。之后,如果我在Chrome中调用方法,则会得到与Google Maps相同的位置。事实是,即使我将maximumAge选项设置为0,该位置也会被缓存和重用很长时间。

相同的代码在Firefox Android中工作正常,有人可以建议我如何在Chrome中解决此问题,而又不强迫用户关闭“错误的位置准确性”选项吗?

0 个答案:

没有答案