Android项目导入高德地图
文章目錄
- 前言
- 一、Android地圖SDK簡介
- 二、獲取高德地圖開發Key
- 2.1 獲取SHA1安全碼
- 2.1.1 獲取調試版SHA1安全碼
- 2.1.2 獲取發布版SHA1安全碼
- 2.2 獲取包名
- 2.3 獲得Key
- 三、配置高德地圖
- 3.1 下載高德地圖SDK
- 3.2 添加sdk到項目中
- 3.2.1 添加jar文件
- 3.2.2 添加so庫
- 四、開發前的準備
- 4.1 添加高德地圖key
- 4.2 聲明service組件
- 4.3 配置好相關權限
- 總結
前言
??雖然高德地圖用起來沒有百度地圖那么絲滑,但是兼容還是挺好的,我的手機調試百度地圖的api時總是報錯,后來改成了高德地圖,雖然高德地圖初始的布局沒有百度的好看,下載時官方文檔也沒有百度地圖的詳細,但是還是挺好用的。
??我的項目使用只需要使用到高德地圖的地圖和定位SDK,便以高德地圖的地圖SDK為例。
一、Android地圖SDK簡介
??高德開放平臺目前開放了Android 地圖 SDK 以及 Android 地圖 SDK 專業版兩套地圖SDK工具。
??高德地圖 Android SDK 是一套地圖開發調用接口,開發者可以輕松地在自己的Android應用中加入地圖相關的功能,包括:地圖顯示(含室內、室外地圖)、與地圖交互、在地圖上繪制、興趣點搜索、地理編碼、離線地圖等功能。
??高德地圖 Android SDK 專業版是在 Android SDK 已有服務的基礎上,新增支持了自定義地圖在線加載、自定義地圖元素紋理等功能,便于開發者完成基于自身場景的更深層、更個性化地圖的開發需求。
??V4.0.0開始,除了支持手機設備外,還支持Android Wear。
二、獲取高德地圖開發Key
2.1 獲取SHA1安全碼
2.1.1 獲取調試版SHA1安全碼
打開Android studio 底部的Terminal,編譯:
keytool -list -v -keystore debug.keystore
當然,這么寫一般都會錯,要么是keytool不是內部命令,要不找不到debug.keystore。
解決辦法:
1.keytool:點擊File→Other Settings→Default Project Structure獲取到SDK地址,加上\bin即是keytool可執行地址,cd進入。
2.debug.keystore:默認目錄位置:C:\Users<用戶>.android\debug.keystore
3.以我為例,輸入的代碼如下:
4.輸入數據庫口令直接回車就可以了
2.1.2 獲取發布版SHA1安全碼
(1)Bulid→Generate Signed Bundle/APK…→選擇APK→NEXT
(2)例如,我有Heiya.jks,可以直接點next,沒有的話點create new,創建好了之后再next
(3)將之前查看調試版密碼文件的路徑改為key store path
例如我的:keytool.exe -list -v -keystore “D:\Program Files\Android\Android Studio\Androidkey\heiya\Heiya.jks”
(4)輸入密鑰庫口令-就是之前創建密鑰庫的 key store password.
2.2 獲取包名
進入模塊的build.gradle,applicationId即為包名。
2.3 獲得Key
高德地圖API官網:https://lbs.amap.com/
進入控制臺→應用管理→我的應用→創建新應用→添加
你會很驚奇的發現需要的東西剛剛都準備好了~
返回“我的應用”界面就可以看到自己申請的key了
三、配置高德地圖
3.1 下載高德地圖SDK
我開發的“校園巴士模塊”需要用到地圖sdk和定位sdk,便在https://lbs.amap.com/api/android-sdk/download中的開發包定制下載中選擇“地圖SDK”和“定位SDK”。按開發項目實際需要選擇下載。
3.2 添加sdk到項目中
3.2.1 添加jar文件
解壓下載的sdk文件,將下載的地圖SDK的jar包復制到項目的 libs 目錄下。
右鍵點擊新黏貼的jar,在彈出菜單中點擊AddAsLibrary.選擇你要導入到的那個module。
3.2.2 添加so庫
方法一:將下載地圖包里的含so庫文件的文件夾移入和jar文件一樣移入libs文件夾。
然后打開build.gradle(app),找到 sourceSets 標簽,在里面增加一項配置,如圖所示:
方法二:不需要修改build.gradle。在 main 目錄下創建文件夾 jniLibs,然后將含so庫文件的文件夾移入就可以了。
四、開發前的準備
4.1 添加高德地圖key
在AndroidManifest.xml的application標簽中,添加如下代碼:
<meta-dataandroid:name="com.amap.api.v2.apikey"android:value="你申請到的高德地圖Key"/> </application>4.2 聲明service組件
在AndroidManifest.xml的application標簽中聲明service組件,每個app擁有自己單獨的定位service。
<service android:name="com.amap.api.location.APSService"/>4.3 配置好相關權限
在AndroidManifest.xml中配置權限:
<!--用于進行網絡定位--> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"></uses-permission> <!--用于訪問GPS定位--> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission> <!--用于獲取運營商信息,用于支持提供運營商信息相關的接口--> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission> <!--用于訪問wifi網絡信息,wifi信息會用于進行網絡定位--> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission> <!--用于獲取wifi的獲取權限,wifi信息會用來進行網絡定位--> <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission> <!--用于訪問網絡,網絡定位需要上網--> <uses-permission android:name="android.permission.INTERNET"></uses-permission> <!--用于讀取手機當前的狀態--> <uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission> <!--用于寫入緩存數據到擴展存儲卡--> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission> <!--允許程序讀寫手機狀態和身份--> <uses-permission android:name="android.permission.READ_PHONE_STATE" />總結
??在Android studio中如何導入高德地圖已經講得很詳細了,其實導入百度地圖的方法差不多,可以類推一下。做好了這些步驟之后,就可以開始進行與高德地圖有關的開發了。
總結
以上是生活随笔為你收集整理的Android项目导入高德地图的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 前端学习(3290):react hoo
- 下一篇: Android实战开发--三种地图类型的