轉載請標明:http://blog.csdn.net/u012637501/article/details/45588377
一、Eclipse工程環境配置
1.下載SDK與申請Key
參見http://developer.baidu.com/map/index.php?title=androidsdk/guide/key。需要注意的是,在執行keytool命令出現命令不存在異常。keytool工具在JDK的bin文件夾下面,可以將bin目錄的絕對路徑添加到PATH環境變量中即可。
百度地圖開發者:http://developer.baidu.com/map/
2.添加jar包、.so文件到工程
在工程裏新建libs文件夾,將開發包裏的BaiduLBS_Android.jar(基礎地圖&定位)拷貝到libs根目錄下,將libBaiduMapSDK_v3_4_0_7.so拷貝到libs\armeabi目錄下(官網demo裏已有這兩個文件,如果要集成到自己的工程裏,就需要自己添加),拷貝完成後的工程目錄如下圖所示;
3.勾選" Android Private Libraries"
由於adt插件升級,若您使用Eclipse adt 22及以上的話,需要對開發環境進行相應的設置,方法如下:
(1)在Eclipse 中選中工程,右鍵選 Properties->Java Build Path->Order and Export 使 Android Private Libraries處於勾選狀態;
(2) Project -> clean
在AndroidManifest.xml中添加開發密鑰、所需權限等信息
- <!-- 添加對屏幕的支持 -->
- <supports-screens
- android:largeScreens="true"
- android:normalScreens="true" android:smallScreens="true"
- android:resizeable="true" android:anyDensity="true"/>
- <application>
- <meta-data
- android:name="com.baidu.lbsapi.API_KEY"
- android:value="開發者申請的 key" />
- </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" />
(2)靜態成員變量
static void |
initialize(Context context)
初始化全局 context。
|
static void |
initialize(java.lang.String sdcardPath,
Context context)
初始化全局 context,指定 sdcard 路徑,若採用默認路徑,請使用initialize(Context context) 重載函數
|
- <com.baidu.mapapi.map.MapView
- android:id="@+id/bmapView"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- android:clickable="true" />
- package base.baidu.oncampus;
- import android.app.Activity;
- import android.os.Bundle;
- import com.baidu.mapapi.SDKInitializer;
- import com.baidu.mapapi.map.MapView;
- public class MainActivity extends Activity {
- MapView mapView = null;
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- SDKInitializer.initialize(getApplicationContext()); //在使用SDK各組件之前初始化context信息,傳入AplicationContext
- setContentView(R.layout.main);
- mapView = (MapView)findViewById(R.id.bmapView); //獲取地圖控件引用
- }
- @Override
- protected void onDestroy() {
- mapView.onDestroy(); //關閉百度地圖
- super.onDestroy();
- }
- @Override
- protected void onPause() {
- mapView.onPause(); //暫停使用百度地圖
- super.onPause();
- }
- @Override
- protected void onResume() {
- mapView.onResume(); //恢復使用百度地圖
- super.onResume();
- }
- }