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、不聯網只能得到經緯度(估計是基礎包的緣故) ,無地址等數據。
低功耗模式:基本靠網絡定位,比較准確。
高精度模式:自動選擇精度高定位模式。