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、不联网只能得到经纬度(估计是基础包的缘故) ,无地址等数据。
低功耗模式:基本靠网络定位,比较准确。
高精度模式:自动选择精度高定位模式。