android中<map/>中显示位置与wx.getLocation的数据不匹配
发布于 5 年前 作者 lwu 7760 次浏览 来自 问答

<map/>中show-location的定位点与wx.getLocation中返回的数据不匹配,误差巨大!

IOS设备中,误差极小,忽略不计。

android设备中,根据不同的手机型号,误差情况不同。

测试设备:vivo y66,oppo a73t, 小米 mix2

其中vivo y66,oppo a73t存在巨大误差,小米mix2误差很小

问题情况:不是每时每刻都存在巨大误差的,误差会存在一段时间,根据实际位置的不同,误差时间和误差范围也不同。

  1. 红色圆形中心点是wx.getLocation()中返回的经纬度,每秒获取一次

  2. 地图show-location=true,每秒moveToLocation()一次

  3. 地图中心 为<map/>的getCenterLocation()获取的数据

  4. 定位中心 为wx.getLocation()获取的数据

  5. 测试过程中没有滑动过地图,保证getCenterLocation()的数据就是地图moveToLocation()后的中心

  6. 测试开始的时候,需要把地图放大,才能看到圆形

正常情况下的表现如下图:

红色圆形与定位点在相同位置

异常表现如下图:

红色圆形与定位点存在误差

4 回复

楼主描述的很对,我也越到这个问题,这个问题不是每次出现,会在个别手机上wx.getLocation()的位置和用户实际位置误差1km左右。这个怎么解决呢?

wx.getLocation()的时候设置下类型(type)为gcj02试试

你好,这边没有复现问题,请问我该怎么操作以使代码片段复现问题呢?

后面如何解决的呢

回到顶部