Android定位SDK自v7.0版本起,按照附加功能不同,向开发者提供了四种不同类型的定位开发包,可根据不同需求,自有选择所需类型的开发包使用。

Ref:http://lbsyun.baidu.com/index.php?title=android-locsdk/geosdk-android-download

(1)基础定位:开发包体积最小,但只包含基础定位能力(GPS/WiFi/基站)、基础位置描述能力;

(2)离线定位:在基础定位能力基础之上,提供离线定位能力,可在网络环境不佳时,进行精准定位;

(3)室内定位:在基础定位能力基础之上,提供室内高精度定位能力,精度可达1-3米;

(4)全量定位:包含离线定位、室内高精度定位能力,同时提供更人性化的位置描述服务;

Android定位SDK自v7.0版本起,提供了四种类型的开发包,注意这四类开发包互斥,一个应用中只需集成一种定位开发包即可。


 高精度定位模式:这种定位模式下,会同时使用网络定位和GPS定位,优先返回最高精度的定位结果;LocationClientOption.LocationMode.Hight_Accuracy

低功耗定位模式:这种定位模式下,不会使用GPS进行定位,只会使用网络定位(WiFi定位和基站定位);LocationClientOption.LocationMode.Battery_Saving

仅用设备定位模式:这种定位模式下,不需要连接网络,只使用GPS进行定位,这种模式下不支持室内环境的定位。LocationClientOption.LocationMode.Device_Sensors 


 测试环境:Android Studio 2.3.3 ,Baidu LBS SDK 7.1 (基础定位) ,Windows 10 ,MI5  MIUI8.5,Android 7.0


测试:

1 仅用设备定位模式(Device_Sensors) :

GPS关闭、网络关闭:无数据。

GPS关闭、网络打开:大多数无数据。偶尔会采用网络定位,得到全部数据。

GPS打开、网络打开:大多数使用GPS定位,偶尔会用网络定位,均能得到全部数据。

GPS打开、网络关闭:只使用GPS定位,有经纬度数据,无地址数据。

2. 低功耗定位模式(Battery_Saving)

GPS关闭、网络打开:得到全部数据。

GPS打开、网络打开:GPS出现过一次,其他均为网络定位。

3.  高精度定位模式(Hight_Accuracy)

GPS打开、网络打开:有卫星时会采用GPS,无卫星时会用网络。


结论:

仅用设备模式:也会进行网络定位;开GPS、不联网只能得到经纬度(估计是基础包的缘故) ,无地址等数据。

低功耗模式:基本靠网络定位,比较准确。

高精度模式:自动选择精度高定位模式。


百度地图三种定位方式测试(高精度、低功耗、仅用设备)-风君雪科技博客

百度地图三种定位方式测试(高精度、低功耗、仅用设备)-风君雪科技博客