第一步:“Manifest——Activity”,在原有的application裏添加祕鑰
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<!-- S -->
<!-- 這個祕鑰就放在application裏面 -->
<meta-data
android:name="com.baidu.lbsapi.API_KEY"
android:value="TjTGFrjxvO5bF0UGd7U2YaoD" />
<!-- E -->
<activity android:name="com.map.baidu.Activity_Main" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
第二步:“Manifest”,在application的上面添加需要的權限
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="19" />
<!-- S -->
<!-- 這個纔是正確的BaiduMap權限,不要放在application下面 -->
<!-- 第二步:添加所需要的權限 -->
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.USE_CREDENTIALS" />
<uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />
<uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS" />
<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.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.BROADCAST_STICKY" />
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<!-- E -->
第三步:”layout.xml”,要需要的佈局layout中添加地圖控件
<!-- S -->
<!-- 第三步:這是個佈局控件 -->
<!-- 所以應該在相應的佈局裏面佈置 -->
<com.baidu.mapapi.map.MapView
android:id="@+id/bmapView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:clickable="true" >
</com.baidu.mapapi.map.MapView>
<!-- E -->
第四步:“Activity”,在應用程序創建時初始化 SDK引用的Context 全局變量
(注:這裏有個若位置放錯就會報錯的地方:就是那個函數必須放在“setContentView方法之前”,不然就會有error inflating class com.baidu.mapapi.map.MapView的錯誤)
public class Activity_Main extends Activity
{
//!@S
MapView mMapView = null;// 記得先無參數聲明啊;
//!@E
@Override
protected void onCreate( Bundle savedInstanceState )
{
// TODO Auto-generated method stub
super.onCreate( savedInstanceState );
//!@S
// 在使用SDK各組件之前初始化context信息,傳入ApplicationContext
// !注意該方法要再setContentView方法之前實現
SDKInitializer.initialize( getApplicationContext() );
//!這個layout可以不是main,在這裏使用也不會影響下面layout_main的調用
setContentView( R.layout.layout_main );
// 獲取地圖控件引用
mMapView = (MapView) findViewById( R.id.bmapView );
//!@E
setContentView( R.layout.layout_main );
}
第五步:“Activity”,創建地圖Activity,管理地圖生命週期
//!@S
@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();
}
//!@E