一、進入http://developer.baidu.com/map/index.php?title=androidsdk百度SDK官網,要先註冊的喲;php
二、點擊「獲取密鑰」進入建立應用java
這裏建立的應用名爲「TestBaiduMap」,注意這裏安全碼的填寫,須要「數字簽名+;+包名」,使用eclipse開發工具的能夠按照 Eclipse->Window->Preference->Android->Build路徑獲取SHA1數字簽名:android
填寫安全碼時注意格式和相關包名,這裏咱們使用了「com.test.baidumap」:api
建立項目成功後顯示以下:安全
建立項目成功後,須要去「相關下載」裏面下載SDK開發包,這裏咱們暫時下載以下:app
解壓相關包能夠獲得以下文件:eclipse
咱們把這些文件拷貝到新建eclipse工程的libs下,這裏注意項目的包名必須和建立項目裏的包名一致:ide
注意工程配置,將「訪問應用(AK)」配置到AndroidMainfest.xml裏,本工程配置以下:工具
至此,整個工程基礎配置完畢,能夠參考http://developer.baidu.com/map/index.php?title=androidsdk/guide/hellobaidumap配置完整個工程。開發工具
一、功能實現:加載百度地圖,設置地圖標尺,切換視圖(衛星和普通),打開實時交通。
二、實現效果圖:
三、界面實現:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity" > <com.baidu.mapapi.map.MapView android:id="@+id/bmapView" android:layout_width="fill_parent" android:layout_height="fill_parent" android:clickable="true" /> </RelativeLayout>
三、代碼實現:
package com.test.baidumap; import android.app.Activity; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import com.baidu.mapapi.SDKInitializer; import com.baidu.mapapi.map.BaiduMap; import com.baidu.mapapi.map.MapStatusUpdate; import com.baidu.mapapi.map.MapStatusUpdateFactory; import com.baidu.mapapi.map.MapView; public class MainActivity extends Activity { private MapView mapView; private BaiduMap baiduMap; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // 在使用SDK各組件以前初始化context信息,傳入ApplicationContext // 注意該方法要再setContentView方法以前實現 SDKInitializer.initialize(getApplicationContext()); // requestWindowFeature(Window.FEATURE_NO_TITLE);// 去除標題 setContentView(R.layout.activity_main); mapView = (MapView) findViewById(R.id.bmapView); baiduMap = mapView.getMap(); MapStatusUpdate msu = MapStatusUpdateFactory.zoomTo(15.0f); baiduMap.setMapStatus(msu);// 設置地圖標尺 } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.main, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.map_common: baiduMap.setMapType(BaiduMap.MAP_TYPE_NORMAL); break; case R.id.map_site: baiduMap.setMapType(BaiduMap.MAP_TYPE_SATELLITE); break; case R.id.map_traffic: if (baiduMap.isTrafficEnabled()) { baiduMap.setTrafficEnabled(false); item.setTitle("實時交通(off)"); } else { baiduMap.setTrafficEnabled(true); item.setTitle("實時交通(on)"); } break; } return super.onOptionsItemSelected(item); } @Override protected void onPause() { super.onPause(); mapView.onPause(); } @Override protected void onResume() { super.onResume(); mapView.onResume(); } @Override protected void onDestroy() { super.onDestroy(); mapView.onDestroy(); } }