You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用JS的watchPosition方法获取正确经纬度,解决小数位错误问题

经纬度偏差问题原因
  • 权限限制:当前主流移动端系统(iOS 14+、安卓12+)均支持「模糊位置」权限选项,若用户授权时选择了模糊位置,系统返回的经纬度会默认加入数百米级的随机偏移,正好匹配你遇到的第三位小数偏差0.002(对应实际距离约200米)的特征,可检查应用的位置权限配置,确认是否已开放精确位置权限。
  • 定位源精度不足:你虽然在参数中开启了enableHighAccuracy: true,但该配置仅为向系统发起的高精度请求,不代表一定能拿到高精度结果:
    • 若使用PC端测试,多数设备无内置GPS模块,默认依靠IP定位,精度本身就在百米到公里级
    • 若使用移动端测试,若未开启GPS、或者GPS信号被遮挡(室内、高楼密集区、地下空间等),系统会自动切换到基站/WiFi融合定位,精度也在几十到几百米区间
  • 缓存位置干扰:你配置的maximumAge: 1000允许使用1秒内的缓存位置,watchPosition首次回调经常会直接返回系统保存的低精度缓存,后续才会更新为实时获取的高精度结果。你可以在回调中打印position.coords.accuracy字段判断定位质量,该值代表当前结果的误差范围(单位米),数值越小精度越高,通常小于10才是GPS正常工作的结果。
  • 参数配置逻辑问题:当前timeout: 20000设置为20秒,若GPS冷启动搜星时间超过20秒,会触发超时回调,返回低精度的备选定位结果。

内容的提问来源于stack exchange,提问作者ctrlaltdel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 08:42:04