<map/>中show-location的定位点与wx.getLocation中返回的数据不匹配,误差巨大!
IOS设备中,误差极小,忽略不计。
android设备中,根据不同的手机型号,误差情况不同。
测试设备:vivo y66,oppo a73t, 小米 mix2
其中vivo y66,oppo a73t存在巨大误差,小米mix2误差很小
问题情况:不是每时每刻都存在巨大误差的,误差会存在一段时间,根据实际位置的不同,误差时间和误差范围也不同。
红色圆形中心点是wx.getLocation()中返回的经纬度,每秒获取一次
地图show-location=true,每秒moveToLocation()一次
地图中心 为<map/>的getCenterLocation()获取的数据
定位中心 为wx.getLocation()获取的数据
测试过程中没有滑动过地图,保证getCenterLocation()的数据就是地图moveToLocation()后的中心
测试开始的时候,需要把地图放大,才能看到圆形
正常情况下的表现如下图:
红色圆形与定位点在相同位置
异常表现如下图:
红色圆形与定位点存在误差
楼主描述的很对,我也越到这个问题,这个问题不是每次出现,会在个别手机上wx.getLocation()的位置和用户实际位置误差1km左右。这个怎么解决呢?
而且我还发现moveToLocation()和getCenterLocation()一起使用可以获取用户位置信息,但不需要用户授权。wx.getLocation()接口是需要用户授权才行。这个是bug
wx.getLocation()的时候设置下类型(type)为gcj02试试
已经是gcj02的了
问题的核心点在于,wx.getLocation()回来的数据就是不稳定的,在android上误差很大,在IOS上误差就很小
后面如何解决的呢
你好,这边没有复现问题,请问我该怎么操作以使代码片段复现问题呢?
你需要多台android设备,不同的设备误差范围不同,例如小米mix2误差就很小(在我们可接受范围内),vivo y66与oppo a73t误差就很大(有时候甚至相差数公里),IOS设备误差也非常小
这个问题不是每时每刻都有的,但是出现频率很高
需要有人去带着android设备去户外走走,这个问题会根据不同的地理环境出现不同程度上的表现,可能在城市内空旷的地方是重现不了的,主要是需要在户外多走动走动
问题解决了吗?
18年时我已经和微信那边的确认,配合测试,反馈是getLocation()确实有问题,像超时,wifi没有开启,系统错误,误差十几公里甚至上百公里等等问题,解决问题几个月了,一样没有得到解决,说是会出新的接口,现在都9个多月过去了,也没有解决,我们几百人都在配合测试,后来微信那边的员工也不回我了,无语,真不知道微信办事效率这么低。我真不相信微信现在有很多人用,像2019.5.25-2019.5.26,出现严重bug,微信更新了
WeChatLib:2.7.1(2019.5.24 11:50:59),造成小程序在多个input来回切换或切换至密码类型的input时,无法输入,结果就是无法登录,我在论坛上也没有找到相关问题,到2019.5.27(星期一)才还原WeChatLib的上一个版本,想想这办事效率。毕竟人家才是王。咱门有气没地方出,一个论坛一提问几乎就是石沉大海了,最多一,二次回答,要什么?呵呵。
你好,造成不便很抱歉,需要反馈问题麻烦重新发帖提问哈,我们跟进一下