詳解在Android中整合高德定位功能

Songlcy發表於2016-09-23

關於定位,相信大家都不陌生。現在很多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整合高德定位功能的實現有了更清晰的認識。下一篇將和大家分享下如何使用高德地圖的一些技巧。有問題的小夥伴可以給我留言咯!

原始碼下載

相關文章