高德地图GPS不准,怎么解决

最近碰到了GPS定位准确性的问题,大部分客户反馈是比较准的,但是部分客户反馈确实不准。
以下是从高德官网找到的资料。

1、SDK定位策略

定位SDK融合基站+WiFi+ GPS定位,输出了三种定位模式:高精度模式,低功耗模式,仅用设备模式。

定位SDK会根据设备所处的环境自动调整定位策略,如在同一个的位置没有移动时,SDK会返回缓存定位结果,如果APP不希望使用缓存结果可以通过定位类型进行过滤。

2、SDK的三种定位模式的定位策略分别是怎样的?

1、高精度模式定位策略
这种定位模式下,会同时使用网络定位(基站、WIFI定位)和GPS定位,优先返回最高精度的定位结果。

2、低功耗模式定位策略
该定位模式下,不会使用GPS,只会使用网络定位(Wi-Fi和基站定位)。

3、仅用设备模式定位策略
这种定位模式下,不需要连接网络,只使用GPS进行定位,这种模式下不支持室内环境的定位。

3、为什么Android 定位SDK当前定位误差有几百或者上千米?

常见的Android定位结果有三种来源,一种是基站定位、一种是WIFI定位、这二者统称为网络定位;最后一种是GPS定位。

纯基站定位的精度在500-5000米之间,WIFI的定位精度在3-200米之间;GPS定位精度在5-几百米不等。

如果您的设备没有开启WIFI模块,采用基站定位,那么定位误差可能会非常大,建议您打开WIFI模块(不用连上,只需要打开即可)再发起定位请求。

解决方法:

开启数据流量(定位之后即可关闭),和WIFI模块,或者到户外采用GPS定位。

4、SDK的定位点会出现跳动?

定位点出现跳动解决方法如下:

1、开启数据流量(定位之后即可关闭),和设备WIFI模块后进行定位(采用高精度定位模式);或者到户外开启设备GPS模块采用采用高精度定位模式定位。

2、在开发时根据定位类型(通过AMapLocation类的getLocationType())进行定位点过滤,例如定位类型为6的点不进行业务运算。

3、在开发时根据精度(通过AMapLocation类的getAccuracy()方法获取)进行定位点过滤,例如精度大于10米的点不进行业务运算。

5、解决

总结来看。
1、在开发时,采用高精度模式定位策略。
2、一定要打开WiFi,即使没有链接,也要打开(从文档上看比较关键,且精度最高)。
3、尽量同时使用WiFi和流量。
4、保持手机的网络畅通。

你可能感兴趣的:(工作总结,网络,高德地图)