用户在使用API之前需要获取百度地图移动版API Key,并且该KEY与您引用API的程序名称有关,具体流程请参照:申请API KEY
百度地图API支持Android 1.5及以上系统。
<1>API添加到Andoid工程中
必须显得下载API开发包:点击下载
解压之后包括两个文件baidumapapi.jar和libBMapApiEngine.so。在工程根目录下创建ibs\armeabi目录,并拷贝到其目录下。
在工程属性->Java Build Path->Libraries中选择“Add JARs”,选定baidumapapi.jar,确定后返回,这样您就可以在您的程序中使用API了。
<2>在Manifest中添加使用权限
源代码下载:具体下载目录在 /2012年资料/3月/5/Android开发教程:百度地图初学/
这不很多人会忘记的,以定要注意。
<3>在Manifest中添加Android版本支持
android:normalScreens="true"android:smallScreens="true"
android:resizeable="true"android:anyDensity="true"/>
<4>让创建的地图Activity继承com.baidu.mapapi.MapActivity, 并import相关类
代码里的import相关类有些可能用不着,这的取决你的功能。
你可以不用导入这些,用那个再import("alt+/"快捷键)
importjava.util.ArrayList;
importjava.util.List;
importandroid.content.Context;
importandroid.graphics.Canvas;
importandroid.graphics.Paint;
importandroid.graphics.Point;
importandroid.graphics.drawable.Drawable;
importandroid.location.Location;
importandroid.os.Bundle;
importandroid.util.Log;
importandroid.view.View;
importandroid.widget.Toast;
importcom.baidu.mapapi.BMapManager;
importcom.baidu.mapapi.GeoPoint;
importcom.baidu.mapapi.ItemizedOverlay;
importcom.baidu.mapapi.LocationListener;
importcom.baidu.mapapi.MKAddrInfo;
importcom.baidu.mapapi.MKDrivingRouteResult;
importcom.baidu.mapapi.MKGeneralListener;
importcom.baidu.mapapi.MKLocationManager;
importcom.baidu.mapapi.MKPlanNode;
importcom.baidu.mapapi.MKPoiResult;
importcom.baidu.mapapi.MKSearch;
importcom.baidu.mapapi.MKSearchListener;
importcom.baidu.mapapi.MKTransitRouteResult;
importcom.baidu.mapapi.MKWalkingRouteResult;
importcom.baidu.mapapi.MapActivity;
importcom.baidu.mapapi.MapController;
importcom.baidu.mapapi.MapView;
importcom.baidu.mapapi.MyLocationOverlay;
importcom.baidu.mapapi.Overlay;
importcom.baidu.mapapi.OverlayItem;
importcom.baidu.mapapi.PoiOverlay;
importcom.baidu.mapapi.RouteOverlay;
importcom.baidu.mapapi.TransitOverlay;
publicclassMyMapActivityextendsMapActivity {
@Override
publicvoidonCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
@Override
protectedbooleanisRouteDisplayed() {
returnfalse;
}
}<5>在布局xml中添加地图控件
android:orientation="vertical"android:layout_width="fill_parent"
android:layout_height="fill_parent">
android:layout_height="wrap_content"android:text="@string/hello"/>
android:layout_width="fill_parent"android:layout_height="fill_parent"
android:clickable="true"/>
<6>始化地图Activity,在地图Activity中定义变量: BMapManagermapManager= null; 在onCreate方法中增加以下代码,并将您申请的Key替换“我的Key”:mapManager =newBMapManager(getApplication());
mapManager.init(key,null);
super.initMapActivity(mapManager);
MapView mapView = (MapView) findViewById(R.id.mapsView);
mapView.setBuiltInZoomControls(true);//设置启用内置的缩放控件
MapController mapController = mapView.getController();// 得到mMapView的控制权,可以用它控制和驱动平移和缩放
GeoPoint point =newGeoPoint((int) (39.915* 1E6),
(int) (116.404* 1E6));//用给定的经纬度构造一个GeoPoint,单位是微度 (度 * 1E6)
mapController.setCenter(point);//设置地图中心点
mapController.setZoom(12);//设置地图zoom级别Override以下方法,管理API:
@Override
protectedvoidonDestroy() {
if(mapManager !=null) {
mapManager.destroy();
mapManager =null;
}
super.onDestroy();
}
@Override
protectedvoidonPause() {
if(mapManager !=null) {
mapManager.stop();
}
super.onPause();
}
@Override
protectedvoidonResume() {
if(mapManager !=null) {
mapManager.start();
}
super.onResume();
}