1. 程式人生 > >高德地圖SDK整合---定位篇

高德地圖SDK整合---定位篇

高德的API文件寫得很詳細,閱讀起來很流暢,在整合的時候大部分問題在文件中都已經有解決方案了,今天寫此文章的目的是為了記錄一下完整的整合方案,以便於自己下次能跟快速的在進行整合。

1.註冊成為開發者(略)

2.獲取Key

開啟應用管理

這裡寫圖片描述

建立新應用

這裡寫圖片描述
這裡寫圖片描述

在應用中新增Key

這裡寫圖片描述
這裡寫圖片描述

key名稱

按照命名規範取就好了。

服務平臺

android

SHA1碼

釋出版和除錯版本注意事項請看這裡http://lbs.amap.com/faq/top/hot-questions/249

1.開啟AndroidStudio-對專案簽名(也可以按照高德的文件自行使用預設的debug簽名,只是我自己使用預設debug簽名的時候出了問題,就直接重新建立了KeyStrore)。
這裡寫圖片描述

2.建立新的KeyStore
這裡寫圖片描述
3.選擇存放KeyStore的位置
這裡寫圖片描述
其它引數的意思:
Key store path下方的Password:KeyStroe的密碼
Key:
Ailas:Key的別名
Passwor:Key的密碼
Validity:key的有效時間
First and Name:姓名
Organizational Unit:所在公司或者組織的部門
Organization:公司或者組織
City or Locality:城市
State or Province:省
Country Code(XX):國家程式碼(中國的程式碼是:CN)
4.建立完成-點選Next
這裡寫圖片描述


5.BuildType選擇release,然後點選Finish進行簽名
這裡寫圖片描述
6.簽名完成後如圖所示進入Project Structure中
這裡寫圖片描述
7.選擇app-signing-綠色加號,進行新增專案的簽名配置
這裡寫圖片描述
8.填寫簽名配置
注:
Key Alias要與剛才你建立的Key的Alias名稱對應,Key Password要與此Key Alias對應。
Store File:Key所在的KeyStore,就是剛剛建立的KeyStore,Store Password就是對應的KeyStore的密碼。
這裡寫圖片描述
9.進入BuildType–選擇剛剛配置好的”Signing Config” — debug和release都選擇的剛剛才的同一個配置,當然你也可以選擇不同配置,但是不同配置的話在高德控制檯新增Key的那個位置應該體現出來(不同的版本對應不同的SHA1碼)。
配置完成:點選OK

這裡寫圖片描述
這裡寫圖片描述
10.設定完成後工程的build.gradle檔案就會出現你剛才的“Signing Config”的對應配置。
這裡寫圖片描述
11.通過Terminal控制檯獲取我們工程剛剛配置好的Key的SHA1值
通過cd命令進入jdk的bin目錄下(我的jk使用的是AndroidStudio自帶的jdk,在AndroidStudio檔案下的\jre\bin目錄中),如圖所示
這裡寫圖片描述
12.在bin目錄下敲入keytool -list -keystore keystore的目錄—回車—輸入密碼—回車,然後接列出了此keystore中所有的key,找到對應別名的key的SHA1值就好了,我們剛才專案的key的別名是key1,那我們這裡就應該負責別名為key1的這個SHA1碼。
這裡寫圖片描述

PackageName

獲取build.gradle檔案中的ApplicationId作為PackageName;如果沒有設定ApplicationId,請以AndroidManifest.xml配置檔案的package 屬性為準。

Key申請完成

這裡寫圖片描述

3.開始整合

匯入SDK

高德開放平臺的文件寫得已經很清楚了,就不需要我多嘴了,請看連結http://lbs.amap.com/api/android-location-sdk/guide/create-project/android-studio-create-project
我選擇的是用gradle來管理包,只需要再app的build.gradle的dependencies下加入implementation ‘com.amap.api:location:latest.integration’就OK了。
這裡寫圖片描述
匯入SDK需要說明的幾個點,一些小型的完全可以避免的坑:
1.在AndroidManifest.xml檔案中設定key的時候,name的值不是你PackageName,而是com.amap.api.v2.apikey,可能只是我啥而已,如果有跟我一項傻的你注意避免這個坑哦,還有就是設定key的標籤一定要在application標籤內。
這裡寫圖片描述
2..Android以上的Dangerous Permissions記得要動態申請,可以參考這篇部落格https://blog.csdn.net/qq_26440221/article/details/53097868

使用

使用的話直接按照高德開放平臺的文件來就可以了,基本沒有坑http://lbs.amap.com/api/android-location-sdk/guide/android-location/getlocation
定位使用結果
這裡寫圖片描述

最後,如果大家在整合的過程中有什麼問題可以在評論區互相交流。