转载请标明:http://blog.youkuaiyun.com/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();
- }
- }