一:使用百度地图的Key
二:mapView
//找到mapView控件
MapView mapview = findViewById(R.id.mapview);
//是否显示缩放按钮
mapview.showZoomControls(false);
//是否显示地图缩放标尺
mapview.showScalseControl(false);
//获取地图管理器,管理MapView :缩放 旋转移动
BaiduMap baiduMap = mapview.getMap();
//设置缩放级别
baiduMap.setMapStatus(MapStatusUpdateFactory.zoomTo(15));//默认级别为12
//设置默认中心点
baiduMap.setMapStatus(MapStatusUpdateFactory.newLatlng(new latLng(维度,经度)))
public boolean onKeyDown(int keyCode,keyEvent event){
//在当前级别上放大一个级别
baiduMap.setMapStatus(MapStatusUpdateFactory.zoomIn());
//在当前级别上缩小一个级别
baiduMap.setMapStatus(MapStatusUpdateFactory.zoomOut());
//旋转 以地图中线点顺时针逆时针旋转
float rotate = baiduMap.getMapStatus().rotate;//获取当前地图的旋转角度
//把角度类加后 重新设置给地图
MapStatus rotateStatus = new MapStatus.Builder().rotate(rotate + 30).build();;//范围是0-360
baiduMap.setMapStatus(MapStatusUpdateFactory.newMapStatus( rotateStatus));
//俯角旋转
float overlook = baiduMap.getMapStatus().overlook;//获取当前地图的角度
MapStatus overlookStatus = new MapStatus.Builder().overlook(overlook - 15).build();;//范围是0- (-45)
baiduMap.setMapStatus(MapStatusUpdateFactory.newMapStatus( overlookStatus));
//移动到一个点
baiduMap.setMapStatus(MapStatusUpdateFactory.newLatLng( new LatLng(维度,经度)));
}
图层
//显示底图
baiduMap.setMaptype(BaiduMap.MAP_TYPE_NORMAL)
//显示交通图
baiduMap.setTrafficEnabled(true);
//显示卫星图
baiduMap.setMapType(BaiduMap.MAP_TYPE_SATETTITE)
//绘制圆形覆盖物
//创建覆盖物对象
CircleOptions circleOptions = new CircleOptions();
LatLng latlng = new LatLng(维度,经度);
//设置数据
circleOptions.center(latlng);//设置中心点
circleOptions.fillColor(颜色值)//设置填充颜色
circleOptions.radius(1000)//设置半径 单位是米
circleOptions.stroke(new Stroke (5,颜色值));//边框 宽度和颜色
//把覆盖物添加到底图上
baiduMap.addOverlay(circleOptions)
//添加文字
TextOptions textOptions = new TextOptions();
textOptions.postion(latlng)//设置位置
textOptions.bgColor()//设置背景颜色
textOptions.fontColor()//设置文字颜色
textOptions.fonSize()//设置字体大小
textOptions.typeface(Typeface.SERIF)//设置字体
textOptions.text(" ")//设置文字内容
baiduMap.addOverlay(textOptions);//添加到底图上
//MArKeR覆盖物 可设置图片.点击事件
BitmapDescriptor icon = BitmapDescriptorFactory.
MarkerOptions options = new MarkerOoptions();
markerOptions.postion(latlng)
.icon(icon)//设置图片 可添加集合 集合添加多张图片
.title("文字");
.draggable(true)//可拖动
baiduMap.addOverlay(option)
//把事件传递该Marker覆盖物
baiduMap.setOnMarkerClickListener(this);
//添加点击弹出控件
VIew pop = View.inflate(this,布局文件,null);
pop.setCisiblity(View.INVISIBLE);
MapViewLayoutParams param = new MapViewLayoutParams.Builder()
.layoutMode(ELayoutMdoe.mapMode)//使用经纬度模式
.postion(latlng)
.width(MapViewLayoutParams.WRAP_CONTNENT)
.height(MapViewLayoutParams.WRAP_CONTNENT)
.yOffset(-10)//向上移动
.build();
mapView.addView(pop,param);
调用相对应的生命周期
PRotected void onResume(){
mapview.onResume();
super.onResume();
}
protected void onPause(){
mapview.onPause();
super.onPause();
}
protected void onDestory(){
mapview.onDestory();
super.onDestory();
}
新闻热点
疑难解答