百度地图SDK

来源:互联网 发布:mac ps填充颜色快捷键 编辑:程序博客网 时间:2024/06/06 08:33

一:使用百度地图的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();

}




0 0
原创粉丝点击