第一步:“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