前言
地圖作為開發(fā)中三方sdk中較常遇到的一項,集成起來并不麻煩但是不小心踩坑可能會浪費較多時間,如果項目中多處使用還容易造成代碼大量冗余,今天我們來將高德地圖定位功能集成一個功能化模塊,只需兩分鐘應(yīng)用到項目中。
GitHub:LocationDemo
友情鏈接:996icu
正文
以下操作均在子module—amapservice中設(shè)置,在主模塊只需簡單調(diào)用即可
1、準(zhǔn)備工作
Android Studio 配置工程
官方文檔寫的已經(jīng)很詳細(xì)了在此不再贅述,其實也沒必要看,因為我在模塊中已經(jīng)集成好了,當(dāng)然要是想自己一步一步來需要看下。
2、設(shè)置key
為什么單獨把這個拎出來?因為這個將是使用過程中最耗時的步驟,并不是多麻煩,是因為這個必須自己來操作,獲取key步驟這里有個小問題,就是按照高德獲取SHA1 的話并不是那么方便,甚至可能花費半天也很難獲取到,因為電腦配置不同,建議使用百度經(jīng)驗推薦的這種AS簡單獲取SHA1值方法
下面貼上amapservice中AndroidManifest代碼

image.png
如圖所示,當(dāng)然為了動態(tài)獲取權(quán)限,可以把這些移到主module中以便安卓6.0以后動態(tài)訪問權(quán)限。
3、自定義地圖服務(wù)類和調(diào)用工具類
代碼很簡單 直接上

定位服務(wù)類

調(diào)用工具類
4、調(diào)用

調(diào)用代碼
紅線內(nèi)是調(diào)用代碼,可以通過aMapLocation獲取城市經(jīng)緯度等一系列定位信息。
注意
此demo未配置安卓6.0以上動態(tài)訪問權(quán)限,安卓6.0以上系統(tǒng)手機試用時請自行前往設(shè)置打開定位權(quán)限。
完整代碼請移步(GitHub)