2017-12-19
文章目录
这次是逆地理位置编码出现的坑,在提交工单后,官方回复是badcase,已经收录,后续着手优化。
SDK版本号:
com.amap.api:location:3.6.1
、
com.amap.api:map3d:4.1.3
、
com.amap.api:map3d-native:4.1.3
、
com.amap.api:search:5.5.0
。
过程如下:
2017年12月5号接到用户反馈,定位位置准确,但是显示的中文具体位置不准确,误差大概在千米级别。当时就麻爪了,这可不是误差,这是错误。
- 首先排除网络以及信号问题:
根据用户反馈,得知用户所在位置信号良好,周围不存在遮盖物,也不在地下室之类的信号差的地方,不存在定位偏差问题(app上显示的定位和手机位置一致)。
网络状况良好,浏览器可以打开网页、app可以进行其他操作。
先排除用户使用情况的原因是:接到过多次反馈,是因为用户没有看app提示,或者直接忽略掉提示导致的误报。 - 排除代码问题
- 在测试服上进行同样操作,得到的坐标值正确(手机拿到坐标值在app上显示,然后把坐标拿到高德坐标拾取系统进行定位,显示位置一致),定位以及展示代码没问题。
- 拿到坐标值在客户端进行逆地理位置编码(
RegeocodeQuery query = new RegeocodeQuery(new LatLonPoint(lat, lon), 200,GeocodeSearch.AMAP); geocoderSearch.getFromLocationAsyn(query);
),得到的地理位置正确,误差在所传参数以内,改变逆地理位置编码的经确定,改变定位位置(北京市内随机取点),多次操作,定位及展示以及逆地理位置编码均正确。
到这,就有点抓狂了,这TM什么问题,到底哪里出问题了。。 - 全国范围内取点,代码参数和生产环境保持一致,祈祷着或许是因为在新疆这种空旷、建筑物少的地方,误差