y***@163.com
y***@163.com
  • 发布:2026-05-09 14:15
  • 更新:2026-05-09 14:15
  • 阅读:18

【报Bug】uni.getLocation大量用户定位偏差大

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Mac

PC开发环境操作系统版本号: macOS Sequoia 版本15.2

手机系统: Android

手机系统版本号: Android 16

手机厂商: 小米

手机机型: K90

页面类型: nvue

vue版本: vue3

打包方式: 云端

项目创建方式: CLI

CLI版本号: 3.0.0-4070620250821001

操作步骤:
  • 点击按钮,调用uni.getLocation,得到的经纬度在地图上渲染marker
  • 地图渲染marker,显示偏离很大
  • 多次点击按钮,获取的经纬度也会有很大波动

预期结果:

uni.getLocation 返回准确的经纬度

实际结果:

uni.getLocation返回的经纬度偏差很大,而且多次调用获取到的经纬度波动很大

bug描述:

项目配置了高德地图的key,云打包为安卓app后,在手机上获取用户定位:

uni.getLocation({  
      type: 'gcj02',  
      altitude: false,  
      isHighAccuracy: true,  
      highAccuracyExpireTime: 35000,  
      geocode: true,  
      provider: 'amap',  
      success: resolve,  
      fail: reject,  
    });
  • 能正常返回经纬度和详细地址信息。
  • 但是现在遇到大量在甘肃酒泉那边的用户反馈定位不准的情况,偏差有一百米到一千米不定;
  • 而且连续获取定位会出现经纬度波动很大的情况;
  • 我在深圳这边用相同型号设备定位,基本与高德地图一致。

现在已做一下排查:

  • 用户用高德地图APP,显示当前定位是准确的;
  • 已反复比对和验证高德key\SHA1\packageName,确认无误,高德开发平台后台查看调用流量统计也与实际使用基本一致;
  • 现在HBuildX版本为:5.07;
  • 用户日志返回 "accuracy":41, 但实际偏差有上百米。
  • 用用户获取到的经纬度,在高德地图上选点,与map组件渲染位置一致的,说明经纬度是不准确的

用户获取定位输入结果:

{"type":"gcj02","altitude":0,"latitude":39.54911,"longitude":98.623984,"speed":0,"accuracy":41,"address":{"country":"中国","province":"甘肃省","city":"酒泉市","district":"肃州区","street":"256县道","streetNum":"","poiName":"肃州区财政局东洞财政所","cityCode":"0937"},"errMsg":"getLocation:ok"}
2026-05-09 14:15 负责人:无 分享
已邀请:

要回复问题请先登录注册