詳解在Android中整合高德定位功能
關於定位,相信大家都不陌生。現在很多App基本都少不了定位的功能,Android本身也提供了定位的功能(LocationManager),但是由於Google牆太厚了,所以你懂得。。
定位功能國內也有很多選擇,主流的當選百度定位、高德等等。今天就和大家分享下如何整合高德定位功能,那麼,我們開車吧~
整合高德定位,我將其大致分為以下幾步:
(1)新增高德SDK
(2)配置AndroidManifest檔案
(3)初始化AMapLocationClient定位物件
(4)配置AMapLocationClientOption定位引數
(5)設定監聽回撥
(6)呼叫AMapLocationClient物件的startLocation方法開啟定位
(7)定位成功後,呼叫AMapLocationClient物件的stopLocation方法關閉定位
(8)呼叫onDestroy方法銷燬
以上8步就是定位的整個完整流程,下面我們一步一步來實現。
(1)在libs目錄下新增SDK:SDK下載地址
(2)在配置檔案中,我們需要配置許可權,定位service,key。
1. 許可權:
2.service:
3.key:
(3)第三步和第四步程式碼如下,每個引數的設定在註釋都有說明。
(4)設定定位監聽
從上面程式碼中,我們看到,當定位回撥成功後,最後停止定位。
(5)開啟定位
(6)銷燬,重寫Activity的onDestory宣告週期方法:
經過上面的幾步,我們的定位功能就全部實現啦,基本的流程:
第 1 步,配置AndroidManifest.xml
第 2 步,初始化定位
第 3 步,配置引數並啟動定位
第 4 步,獲取定位結果
最後一步,停止定位。
注意事項
● 目前手機裝置在長時間黑屏或鎖屏時CPU會休眠,這導致定位SDK不能正常進行位置更新。若您有鎖屏狀態下獲取位置的需求,您可以應用alarmManager實現1個可叫醒CPU的Timer,定時請求定位。
● 使用定位SDK務必要註冊GPS和網路的使用許可權。
● 在使用定位SDK時,請儘量保證網路暢通,如獲取網路定位,地址資訊等都需要裝置可以正常接入網路。
● 定位SDK在國內返回高德型別座標,海外定位將返回GPS座標。
● 僅裝置定位(通過GPS定位)是裝置本地定位行為,是不返回地址資訊的,地址資訊在網路定位時會返回。
補充:如果在Android6.0上使用定位,需要我們動態申請許可權驗證,來看下在Android6.0上的實現步驟:
(1)宣告需要的許可權:
(2)動態申請許可權
(3)檢查許可權
(4)驗證是否通過授權
以上就是本篇部落格全部內容啦,相信大家看完上面的步驟,對App整合高德定位功能的實現有了更清晰的認識。下一篇將和大家分享下如何使用高德地圖的一些技巧。有問題的小夥伴可以給我留言咯!
相關文章
- Flutter整合高德定位和地圖功能Flutter地圖
- Android高德地圖定位SDK 返回資訊中只有經緯度問題解決Android地圖
- js高德API定位JSAPI
- 高德在提升定位精度方面的探索和實踐
- Nginx高階功能詳解Nginx
- 在Android原生專案中整合FlutterAndroidFlutter
- Nmap在實戰中的高階用法(詳解)
- 高仿京東Android App,整合React-Native熱更功能AndroidAPPReact
- Android熱修復之Tinker整合最新詳解Android
- Android 整合 Flutter 及通訊互動詳解AndroidFlutter
- css定位詳解CSS
- CSS 定位詳解CSS
- Position定位詳解
- Android APK開發:Menu介面功能詳解AndroidAPK
- 高德網路定位之“移動WiFi識別”WiFi
- 高德網路定位演算法的演進演算法
- javaweb使用高德地圖進行網頁定位JavaWeb地圖網頁
- Android免費整合推送功能(MobPush)Android
- React Native在Android當中實踐(三)——整合到Android專案當中React NativeAndroid
- Android專案匯入高德地圖Android地圖
- CSS定位屬性詳解CSS
- ssm整合詳解SSM
- React Native在Android當中實踐(四)——程式碼整合React NativeAndroid
- 高德地圖-地理圍欄功能實現地圖
- Appium+python自動化(十二)- Android UIAutomator終極定位凶器(超詳解)APPPythonAndroidUI
- Selenium用法詳解 -- selenium八大定位詳解
- Android阿里百川返傭功能整合Android阿里
- XamarinSQLite教程在Xamarin.Android專案中定位資料庫檔案SQLiteAndroid資料庫
- 國內三大地圖(騰訊、高德、百度)路線規劃功能的整合地圖
- springboot整合redis詳解Spring BootRedis
- Flutter系列二:探究Flutter App在Android宿主App中的整合FlutterAPPAndroid
- 詳解Android中的四大元件之一:Activity詳解Android元件
- Android TextView 在指定位置自動省略字元AndroidTextView字元
- 詳解Vue中watch的高階用法Vue
- Android AsyncTask 詳解Android
- Android拖拽詳解Android
- 帶你走進CSS定位詳解CSS
- 極速指南:在 SpringBoot 中快速整合騰訊雲簡訊功能Spring Boot
- [MAUI]整合高德地圖元件至.NET MAUI Blazor專案UI地圖元件Blazor