dialog = new Dialog(context, R.style.dialog); // 自定义dialog宽和高 // setDialog(); View viewMap = LayoutInflater.from(context).inflate( R.layout.dialog_baidumap, null); iv_close = (ImageView) viewMap.findViewById(R.id.iv_close); mMapView = (MapView) viewMap.findViewById(R.id.mapView); iv_close.setOnClickListener(this); mBaiduMap = mMapView.getMap(); dialog.setContentView(viewMap, new LayoutParams(650, 1000)); dialog.show(); initMap(); // 地图初始化
/**
* 地图初始化
*/
private void initMap() {
mCurrentMode = LocationMode.NORMAL;
// 开启定位图层
mBaiduMap.setMyLocationEnabled(true);
mMapView.showScaleControl(false);
int count = mMapView.getChildCount();
for (int i = 0; i < count; i++) {
View child = mMapView.getChildAt(i);
if (child instanceof ImageView) {
// 隐藏百度logo
child.setVisibility(View.INVISIBLE);
}
// 隐藏ZoomControl
if (child instanceof ZoomControls) {
child.setVisibility(View.INVISIBLE);
}
}
// 定位初始化
mLocClient = new LocationClient(this);
mLocClient.registerLocationListener(myListener);
LocationClientOption option = new LocationClientOption();
option.setOpenGps(true);// 打开gps
option.setCoorType("bd09ll"); // 设置坐标类型
option.setScanSpan(1000);
mLocClient.setLocOption(option);
mLocClient.start();
}
/**
* 定位SDK监听函数
*/
public class MyLocationListenner implements BDLocationListener {
@Override
public void onReceiveLocation(BDLocation location) {
// map view 销毁后不在处理新接收的位置
if (location == null || mMapView == null)
return;
MyLocationData locData = new MyLocationData.Builder()
.accuracy(location.getRadius())
// 此处设置开发者获取到的方向信息,顺时针0-360
.direction(100).latitude(location.getLatitude())
.longitude(location.getLongitude()).build();
mBaiduMap.setMyLocationData(locData);
if (isFirstLoc) {
isFirstLoc = false;
LatLng ll = new LatLng(location.getLatitude(),
location.getLongitude());
MapStatusUpdate u = MapStatusUpdateFactory.newLatLng(ll);
mBaiduMap.animateMapStatus(u);
}
}
public void onReceivePoi(BDLocation poiLocation) {
}
}
@Override
protected void onDestroy() {
super.onDestroy();
// 关闭定位
if (mMapView != null) {
mMapView.onDestroy();
mMapView = null;
}
}原文:http://blog.csdn.net/wuxin782515516/article/details/46563155