Android中应用百度地图API开发地图APP实例-显示百度地图
場景
效果
?
在使用百度地圖API之前需要先在百度地圖開放平臺中申請API_KEY
http://lbsyun.baidu.com/index.php
申請API_KEY
登錄百度開放平臺后找到控制臺下的應用管理-創建應用
?
依次輸入應用名,應用類型選擇Android SDK
?
然后下面需要輸入發布版SHA1和包名
?
獲取應用SHA1
首先來到.Android文件所在的位置,默認位置如下
?
如果修改過就要到修改的路徑下。
AndroidStudio修改默認C盤配置文件夾(.android.gradle.AndroidStudio)以及修改后避免踩的坑:
https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/103791948
我這里是修改過,所以這里的路徑是在D:\Android
?
在此路徑下打開命令行窗口。
這里采用使用JDK自帶的keytool工具生成
keytool默認路徑:C:\Program Files\Java\jdk1.8.0_181\bin
?
然后將keytool.exe拖到上面打開的.Android所在路徑命令行窗口中,然后再后面輸入
-list -v -keystore debug.keystore回車。然后提示輸入密鑰庫命令,直接回車
?
然后就可以在證書指紋中獲取SHA1
?
然后再回到百度開放平臺點擊提交。
就可以獲取開發密鑰了。
獲取Android地圖SDK
然后再回到百度開放平臺中開發文檔下的Android開發下Android地圖SDK
?
然后選擇自定義下載
?
然后這里只勾選幾個基本功能,具體功能根據自己需求勾選,然后點擊下方的開發包和示例代碼進行下載
?
項目中集成SDK
使用AndroidStudio新建項目,將項目視圖由Android切換為Project
?
這樣就會顯示libs目錄,然后解壓上面下載的開發包,可以看到其下面libs目錄下兩個jar包,將其復制到項目的lib下
?
然后選中這兩個jar包右鍵Add As Library,添加到庫
?
然后在src/main下新建JNIlibs目錄
?
然后將上面SDK下libs下的所有目錄復制到此目錄下
?
然后將項目切換回Android視圖下,打開activity_main.xml修改布局文件
將布局修改為相對布局,并添加百度地圖組件,并設置id
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"tools:context=".MainActivity"><com.baidu.mapapi.map.MapViewandroid:id="@+id/bmapview"android:layout_width="match_parent"android:layout_height="match_parent"android:clickable="true"/></RelativeLayout>然后來到MainActivity.java中,首先聲明地圖組件然后再onCreate方法中初始化地圖SDK,注意初始化地圖SDK
的代碼要放在setContentView的代碼前。
然后還需要分別設置地圖組件的聲明周期。
package com.badao.baidumap;import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;import com.baidu.mapapi.SDKInitializer; import com.baidu.mapapi.map.MapView;public class MainActivity extends AppCompatActivity {private MapView mapView;//聲明地圖組件@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);//初始化地圖SDKSDKInitializer.initialize(getApplicationContext());setContentView(R.layout.activity_main);mapView = (MapView) findViewById(R.id.bmapview);}@Overrideprotected void onPause() {super.onPause();mapView.onPause();}@Overrideprotected void onDestroy() {super.onDestroy();mapView.onDestroy();mapView = null;}@Overrideprotected void onResume() {super.onResume();mapView.onResume();} }然后打開mainfests下的AndroidManifest.xml
首先添加meta-data標簽,內容如下
??????? <meta-dataandroid:name="com.baidu.lbsapi.API_KEY"android:value="申請的開發密鑰"/>然后進行權限的聲明。完整示例代碼
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"package="com.badao.baidumap"><!-- 訪問網絡,進行地圖相關業務數據請求,包括地圖數據,路線規劃,POI檢索等 --><uses-permission android:name="android.permission.INTERNET" /><!-- 獲取網絡狀態,根據網絡狀態切換進行數據請求網絡轉換 --><uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /><!-- 讀取外置存儲。如果開發者使用了so動態加載功能并且把so文件放在了外置存儲區域,則需要申請該權限,否則不需要 --><uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /><!-- 寫外置存儲。如果開發者使用了離線地圖,并且數據寫在外置存儲區域,則需要申請該權限 --><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /><applicationandroid:allowBackup="true"android:icon="@mipmap/ic_launcher"android:label="@string/app_name"android:roundIcon="@mipmap/ic_launcher_round"android:supportsRtl="true"android:theme="@style/AppTheme"><meta-dataandroid:name="com.baidu.lbsapi.API_KEY"android:value="申請的開發密鑰"/><activity android:name=".MainActivity"><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity></application></manifest>?
這塊代碼可以參照之前在百度開放平臺下載的示例代碼。
或者可以參照官網的開發指南
http://lbsyun.baidu.com/index.php?title=androidsdk/guide/create-map/showmap
然后需要將項目運行在可聯網的真機或者第三方模擬器上
?
總結
以上是生活随笔為你收集整理的Android中应用百度地图API开发地图APP实例-显示百度地图的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: VisualStudioCode下载安装
- 下一篇: AndroidStudio中打开新项目提