獲取位置信息
1)位置信息
GPS衛星定位,在室外適用
基站(3個基站交叉,鎖定手機位置)–基站定位不平均,有些地方實現不了3點定位
網絡定位–通過手機IP地址,去鎖定位置(消耗流量,對網絡有要求)
谷歌地圖的大致實現思路(通用)
2)實現定位功能的重要類
在百度地圖和高德地圖中不一樣
3)獲取用戶位置的典型流程
4)關鍵點策略
5)位置修正
5)實現位置信息獲取
百度地圖
1.使用百度地圖開放平臺
2.進入Android定位SDK
3.開發準備工作
1)進入控制臺,點擊我的應用,進行注冊
2)填寫信息
應用類型 Android SDK
啟動服務 默認全選
開發版密鑰位置–debug.keystore存放位置
生成密鑰口令
口令默認為android
根據此填寫SHA1(發布版與測試版暫時填寫一樣,之后再更改)
PackageName:填寫自己要開發的軟件的包名
然后提交之后,復制訪問應用AK中的數據
項目中的配置
1.在manifest中,values是剛才復制的AK
2.進入百度開放平臺的產品下載,點擊功能定制化開發包,進行下載jar文件
進入project模式,將下載的文件復制到CheckSoft/app/libs下
3.在android模式下
在CheckSoft/app/build.gradle(module…)中進行配置
4.在manifest中配置sevice
name是jar中的包名
導入jar設置依賴,能查看jar中具體的代碼
5.在manifest中配置權限
<!--訪問網絡,網絡定位需要上網--><uses-permission android:name="android.permission.INTERNET" /><!-- 這個權限用于進行網絡定位,大致的定位--><uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"></uses-permission><!-- 這個權限用于訪問GPS定位,更精準的定位--><uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission><!-- 用于訪問wifi網絡信息/狀態,wifi信息會用于進行網絡定位--><uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission><!-- 獲取運營商信息,用于支持提供運營商信息相關的接口--><uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission><!-- 這個權限用于獲取wifi的獲取權限,wifi信息會用來進行網絡定位--><uses-permission android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission><!-- 寫入擴展存儲,向擴展卡寫入數據,用于寫入離線定位數據--><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission><!-- 訪問網絡,網絡定位需要上網--><uses-permission android:name="android.permission.INTERNET"></uses-permission>
<!--安卓9.0以上使用前臺服務,需要添加權限-->
<uses-permission android:name="android.permission.FOREGROUND_SERVICE"></uses-permission>
<!--查看手機狀態--><uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission>