为什么高德地图APP的定位效果比我开发的APP效果好?

正常情况下,在同设备同环境(网络、位置)下,定位效果是不会有太大偏差的。如果有偏差一般是使用的策略不同引起的,具体可参考以下说明。

修正AP源数据

高德地图app的定位采用1次/秒的定位频率,同样存在初次定位不准确的问题,核心原因是设备为定位器准备的AP源数据(伪基站、WiFi不新鲜)不准确。高德地图app尽量采用连续定位的策略,当设备在环境中获得正确的AP数据源时,采用的持续定位就会返回相对精准的地理位置覆盖掉之前失准的结果。

然而集成定位SDK的app并非都是出行行业,也并非都可以像高德地图这样获保持如此高的定位频率。定位SDK团队为用户设计了这样一个单次定位接口:

mLocationOption.setOnceLocationLatest(true); //设置setOnceLocationLatest(boolean b)接口为true,启动定位时SDK会返回最近3s内精度最高的一次定位结果 //且该结果一定来自与设备环境相符合的AP源




也可以参考相关文档

增加一些判断

我们也建议可以通过简单的判断来提高定位的精度。

合并多次定位结果,选择使用持续定位,例如定位间隔3s。

1、一次过滤:

mAMapLocation.getLocationType(); //通过以上方法获取定位类型,如果对定位类型要求比较高,可以过滤掉基站定位(类型6)结果。




2、二次过滤:

mAMapLocation. getAccuracy(); //通过以上方法获取定位精度,例如超过500M精度的定位结果可以考虑不在业务场景里使用。




如以上内容仍未解决您的问题,请创建工单
新用户
福利
示例
中心
常见
问题
智能
客服