【百度地图】前期准备工作

1.到http://developer.baidu.com/map/sdkandev-download.htm下载lib库,然后在Android工程中引用jar和so文件。

2.到http://developer.baidu.com/map/android-mobile-apply-key.htm申请Key

3.在Manifest中添加使用权限、Android版本支持和对应的开发密钥;

常用使用权限如下:

<!--使用网络功能所需权限  -->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE">
</uses-permission>
<uses-permission android:name="android.permission.INTERNET">
</uses-permission>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE">
</uses-permission>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE">
</uses-permission>
<!-- SDK离线地图和cache功能需要读写外部存储器 -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE">
</uses-permission>
<uses-permission android:name="android.permission.WRITE_SETTINGS">
</uses-permission>
<!-- 获取设置信息和详情页直接拨打电话需要以下权限  -->
<uses-permission android:name="android.permission.READ_PHONE_STATE">
</uses-permission>
<uses-permission android:name="android.permission.CALL_PHONE">
</uses-permission>
<!-- 使用定位功能所需权限,demo已集成百度定位SDK,不使用定位功能可去掉以下6项 -->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION">
</uses-permission>
<permission android:name="android.permission.BAIDU_LOCATION_SERVICE">
</permission>
<uses-permission android:name="android.permission.BAIDU_LOCATION_SERVICE">
</uses-permission>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION">
</uses-permission>
<uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION">
</uses-permission>
<uses-permission android:name="android.permission.ACCESS_GPS"/>                  

 

添加屏幕及版本支持:

<supports-screens 
	android:largeScreens="true"
	android:normalScreens="true"

	android:smallScreens="true"
 
	android:resizeable="true"
            	android:anyDensity="true"/>

<uses-sdk 
	android:minSdkVersion="7">
</uses-sdk>

 

  添加对应的开发密钥:

<meta-data android:name="com.baidu.lbsapi.API_KEY" android:value="开发密钥">
</meta-data>

 

4.在布局xml文件中添加地图控件

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/tv_location"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="hello world" />

    <com.baidu.mapapi.map.MapView
        android:id="@+id/bmapsView"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:clickable="true" />

</LinearLayout>
 

5.对应activity中

定义成员变量

BMapManager mBMapMan = null;
MapView mMapView = null;

 

在onCreate方法中增加以下代码

	mBMapMan = new BMapManager(getApplication());
		mBMapMan.init(null);
		//注意:请在试用setContentView前初始化BMapManager对象,否则会报错  
		setContentView(R.layout.activity_main);
		tvResult =(TextView)this.findViewById(R.id.tv_location);
		mMapView = (MapView) findViewById(R.id.bmapsView);
		mMapView.setBuiltInZoomControls(true);
		// 设置启用内置的缩放控件
		MapController mMapController = mMapView.getController();
		// 得到mMapView的控制权,可以用它控制和驱动平移和缩放
		GeoPoint point = new GeoPoint((int) (39.915 * 1E6),
				(int) (116.404 * 1E6));
		// 用给定的经纬度构造一个GeoPoint,单位是微度 (度 * 1E6)
		mMapController.setCenter(point);// 设置地图中心点
		mMapController.setZoom(12);// 设置地图zoom级别
6. 重写以下方法,管理API
	@Override
	protected void onDestroy(){
	        mMapView.destroy();
	        if(mBMapMan!=null){
	                mBMapMan.destroy();
	                mBMapMan=null;
	        }
	        super.onDestroy();
	}
	@Override
	protected void onPause(){
	        mMapView.onPause();
	        if(mBMapMan!=null){
                mBMapMan.stop();
	        }
	        super.onPause();
	}
	@Override
	protected void onResume(){
	        mMapView.onResume();
	        if(mBMapMan!=null){
	                mBMapMan.start();
	        }
        super.onResume();
	}

 

7. 点击运行

posted @ 2014-04-10 15:24  NúllPòinterExcêptīon  阅读(203)  评论(0)    收藏  举报