Android百度地圖開發-第一篇:申請、搭建百度地圖


一、前言

這是第一篇關於Android使用百度地圖的學習記錄,主要記錄:
  1.在百度地圖開發者平台上申請API Key。
  2.在自己的應用中加入百度地圖的Android版SDK。
  3.在自己的應用中顯示一個地圖。

二、在百度地圖開發者平台上申請API Key

百度地圖開發者平台地址:http://lbsyun.baidu.com/index.php?title=%E9%A6%96%E9%A1%B5。點擊界面的“申請密鑰”,進入界面之后,點擊“創建應用”按鈕。



將應用類型選擇為“Android SDK”,要填寫應用名稱、發布版本SHA1、開發版本SHA1,所以我建議現在就創建好你的應用項目,也好查看所需要填寫的信息。在這里我的應用名稱為“百度地圖測試”,包名為"com.zhangmiao.baidumaptest11_4"。
發布、開發版本的SHA1的查看方式:

1.獲取開發版SHA1:

輸入命令:keytool -list -v -keystore debug.keystore,回車
輸入密鑰庫口令:android(系統默認)回車。

這就看到了開發版SHA1了。

2.獲取發布版SHA1:

2.1.創建自己的簽名文件    

在Android Studio軟件中選擇Build->Generate Signed APK。點擊Next按鈕

這里可以選擇Create New Key Store或者Choose Existing Key Store,選擇存在的KeyStore文件也是可以的,直接選擇即可,這里,我介紹一下創建新的KeyStore的步驟,點擊Create new Key Store按鈕,

Key store path:選擇KeyStore的文件路徑與名稱。
Password:密碼
Confirms:再次輸入密碼
Alias:別名
Password:key的密碼
Confirms:再次輸入密碼
Validity(years):密鑰的有效期
First and Last Name:你的名字
Organizational Unit:單位
Organization:組織
City or Locality:城市或者所在地
State or Province:省份
Country Code (XX):國家
填寫完成之后點擊"ok"按鈕,返回到了Generate Signed APK的界面,這個時候發現界面的Key store password、Key alias、Key Password已經自動填寫好了,
點擊"Next"按鈕,出現了Enter Master Password界面(有的可能不會出現這個界面),

填寫密碼即可,點擊“OK”按鈕,

Build Type的選項是release,還要記得勾選Signature Versions的選項。點擊Finish按鈕,到這里開發版本的keystore文件就創建好了。

2.2.查看發布版的SHA1

輸入命令:keytool -list -v -keystore “創建的發布版的keystore文件的地址”,回車。
輸入密鑰庫口令:前面設置的是什么,這里填寫什么。

這就看到了發布版SHA1了。
將查看到的發布版與開發版的SHA1填寫進對應的輸入框中。然后點擊提交即可。

三、在自己的應用中加入百度地圖的Android版SDK

先下載百度地圖Android版的SDK:下載地址:http://lbsyun.baidu.com/index.php?title=androidsdk/sdkandev-download,點擊自定義下載,勾選自己需要的功能,點擊開發包下載即可。
下載完成之后,解壓壓縮包,將libs里面的文件全部放入自己項目的libs文件夾下。在項目的build.gradle中加入以下語句:

android {
   ...
    sourceSets {
        main {
            jniLibs.srcDirs = ['libs']
        }
    }

}

這樣就在你的項目中引入了百度地圖的API了。

四、在自己的應用中顯示一個地圖

1.修改activity_main布局

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <com.baidu.mapapi.map.MapView
        android:id="@+id/map_view"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:clickable="true" />

</LinearLayout>

2.添加API_KEY

在AndroidManifest.xml文件中,為Application添加api_key

    <application
        ...>
        <meta-data android:name="com.baidu.lbsapi.API_KEY"
            android:value="在百度地圖開發者平台界面查看自己應用的(訪問應用)AK"/>

3.修改MainActivity文件

public class MainActivity extends AppCompatActivity {

    private MapView mMapView = null;

    private BaiduMap bdMap;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        SDKInitializer.initialize(getApplicationContext());
        setContentView(R.layout.activity_main);
        mMapView = (MapView) findViewById(R.id.map_view);
    }


    @Override
    protected void onResume() {
        super.onResume();
        mMapView.onResume();
    }

    @Override
    protected void onPause() {
        super.onPause();
        mMapView.onPause();
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        mMapView.onDestroy();
        MapView.setMapCustomEnable(false);
        mMapView = null;
    }
}

4.添加權限

在AndroidManifest.xml中添加以下權限:

    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.WRITE_SETTINGS" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-permission android:name="android.permission.CALL_PHONE" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />

現在就可以運行程序了,可以看到出現地圖了。

 

代碼地址: https://github.com/ZhangMiao147/BookCode_TheFirstLineOfCode/tree/master/baidumaptest11_4

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM