百度key的申请在此就不多说了.
在应用Application中的onCreate()方法中初始化百度地图sdk各组件
//在使用SDK各组件之前初始化context信息,传入ApplicationContext
//注意该方法要再setContentView方法之前实现
SDKInitializer.initialize(getApplicationContext());
核心代码(主要包含各个功能初始化及初始化后功能调用方法)
public class BDMapManager implements OnMapClickListener, BDLocationListener,
OnGetGeoCoderResultListener, OnGetPoiSearchResultListener {
private BaiduMap mBaiduMap;
private MapView mapView;
private Context context;
public LocationClient mLocationClient;
private Vibrator mVibrator;
private LocationClientOption clientOption;
private BDMapResultInternet bdMapResult;
// 定位参数
private LocationMode tempMode = LocationMode.Hight_Accuracy;
private String tempcoor = "bd09ll";
private GeoCoder geoCoder;
private List<PoiInfo> poilist;
private LatLng point;
private ReverseGeoCodeOption codeOption;
private PoiSearch mPoiSearch;
/**
* 构造函数
*
* @param context
* 上下文对象
* @param mapView
* 百度地图显示控件
*/
public BDMapManager(Context context, MapView mapView,
BDMapResultInternet bdMapResult) {
this.mapView = mapView;
this.mBaiduMap = mapView.getMap();
this.context = context;
this.bdMapResult = bdMapResult;
}
/**
* 设置百度地图响应地图上poi点点击
*/
public void setMapPoiChickListener() {
mBaiduMap.setOnMapClickListener(this);
}
/**
*
* @return 返回初始化完成后的BaiduMap
*/
public BaiduMap getBaiduMap() {
return mBaiduMap;
}
/**
* 初始化百度定位
*/
public LocationClient initLocationClient() {
// TODO Auto-generated method stub
mLocationClient = new LocationClient(context.getApplicationContext());
mLocationClient.registerLocationListener(this);
mVibrator = (Vibrator) context.getApplicationContext()
.getSystemService(Service.VIBRATOR_SERVICE);
clientOption = new Locati