標籤:
最終效果如:
這個需要詳細說下,準備工作較為繁瑣。
第一步:去百度申請一個開發人員帳號,建立一個android應用,會讓你輸入開發人員SHA1,目前我只拿到開發版SHA1,發布版那裡也填的是這個。
擷取方法如:
在C:\Users\Administrator\.android下面呼出命令列,輸入
keytool -list -v -keystore debug.keystore,會得到三種指紋認證,選取SHA1類型的認證(密鑰口令是android)
紅線地方就是,填進adroid sdk申請介面,會得到一個AK碼,複製下來。
第二步:使用as建立一個android項目,加入ak碼和許可權在AndroidManifest.xml檔案中
(1)在application中添加開發密鑰
<application> <meta-data android:name="com.baidu.lbsapi.API_KEY" android:value="AK key" /> </application>
2)添加要求的權限
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/><uses-permission android:name="android.permission.INTERNET"/><uses-permission android:name="com.android.launcher.permission.READ_SETTINGS" /><uses-permission android:name="android.permission.WAKE_LOCK"/><uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /><uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /><uses-permission android:name="android.permission.GET_TASKS" /><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/><uses-permission android:name="android.permission.WRITE_SETTINGS" />
第三步:引入jar包
在http://lbsyun.baidu.com/index.php?title=androidsdk/sdkandev-download 點擊一鍵下載,去
下面把那7個jar包全部複製到項目目錄下的lib目錄中:
然後在原始碼目錄下建立jniLibs檔案夾,把剛才剩下的那幾個檔案夾複製過來:
第四步:在主布局檔案中加入mapview:
<com.baidu.mapapi.map.
TextureMapView
android:id="@+id/bmapView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:clickable="true" />
特別注意重點標示部分。
布局後台代碼中加入:
package com.example.baidumapdemo;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import com.baidu.mapapi.SDKInitializer;import com.baidu.mapapi.map.MapView;import com.baidu.mapapi.map.TextureMapView;public class MainActivity extends AppCompatActivity { TextureMapView mMapView = null; @Override protected void onCreate(Bundle savedInstanceState) { // super.onCreate(savedInstanceState); //setContentView(R.layout.activity_main); super.onCreate(savedInstanceState); //在使用SDK各組件之前初始化context資訊,傳入ApplicationContext //注意該方法要再setContentView方法之前實現 SDKInitializer.initialize(getApplicationContext()); setContentView(R.layout.activity_main); //擷取地圖控制項引用 mMapView = (TextureMapView) findViewById(R.id.bmapView); } @Override protected void onDestroy() { super.onDestroy(); //在activity執行onDestroy時執行mMapView.onDestroy(),實現地圖生命週期管理 mMapView.onDestroy(); } @Override protected void onResume() { super.onResume(); //在activity執行onResume時執行mMapView. onResume (),實現地圖生命週期管理 mMapView.onResume(); } @Override protected void onPause() { super.onPause(); //在activity執行onPause時執行mMapView. onPause (),實現地圖生命週期管理 mMapView.onPause(); }}View Code
完整原始碼下載
Android下百度地圖開發(一):基礎地圖展示