- 项目结构图
2.key的获取
3.代码实现
BaiduMapActivity.java
package com.barricelli.map;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.util.AttributeSet;
import android.util.Log;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
import com.baidu.location.BDLocation;
import com.baidu.location.BDLocationListener;
import com.baidu.location.LocationClient;
import com.baidu.location.LocationClientOption;
import com.baidu.mapapi.BMapManager;
import com.baidu.mapapi.map.LocationData;
import com.baidu.mapapi.map.MapController;
import com.baidu.mapapi.map.MapView;
import com.baidu.mapapi.map.MyLocationOverlay;
import com.baidu.mapapi.map.PopupClickListener;
import com.baidu.mapapi.map.PopupOverlay;
import com.baidu.mapapi.search.MKAddrInfo;
import com.baidu.mapapi.search.MKBusLineResult;
import com.baidu.mapapi.search.MKDrivingRouteResult;
import com.baidu.mapapi.search.MKPoiResult;
import com.baidu.mapapi.search.MKSearch;
import com.baidu.mapapi.search.MKSearchListener;
import com.baidu.mapapi.search.MKShareUrlResult;
import com.baidu.mapapi.search.MKSuggestionResult;
import com.baidu.mapapi.search.MKTransitRouteResult;
import com.baidu.mapapi.search.MKWalkingRouteResult;
import com.baidu.platform.comapi.basestruct.GeoPoint;
public class BaiduMapActivity extends Activity {
//定位相关
public MyLocationListenner myListener = new MyLocationListenner();
private LocationClient client= null;
private LocationData locData =null;
private BMapManager mBMapMan = null;
//定位图层
locationOverlay myLocationOverlay = null;
//弹出泡泡图层
private PopupOverlay pop = null;//弹出泡泡图层,浏览节点时使用
private TextView popupText = null;//泡泡view
private View viewCache = null;
//地图相关,使用继承MapView的MyLocationMapView目的是重写touch事件实现泡泡处理
//如果不处理touch事件,则无需继承,直接使用MapView即可
MyLocationMapView mMapView = null; // 地图View
private MapController mMapController = null;
//搜索相关
MKSearch mSearch = null; // 搜索模块,也可去掉地图模块独立使用
//UI相关
boolean refreshLoc = true; //更新
private Button loc = null;//定位按钮
private String locText = "当前位置"; //泡泡跳起显示位置
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mBMapMan=new BMapManager(getApplication());
mBMapMan.init("Y9rq9hrIyx55uz4LbS1dhFfx", null);
//注意:请在试用setContentView前初始化BMapManager对象,否则会报错
setContentView(R.layout.activity_baidu_map);
CharSequence titleLable="定位功能";
setTitle(titleLable);
loc = (Button)findViewById(R.id.loc);
OnClickListener locClickListener = new OnClickListener() {
public void onClick(View v) {
requestLocClick();
}
};
loc.setOnCli