这段时间和百度地图打了很多的交道,最开始没有仔细看api,以为覆盖物只可以添加图片,慢慢的开始深入了解,发现百度地图光覆盖物分为很多种类。下面来一一说一下。
1.普通Marker,就是普通放入一张图片或者放入一个布局。代码如下。
OverlayOptions option = new MarkerOptions() .position(lspoint) .animateType(MarkerOptions.MarkerAnimateType.none) .title(mad + "") .anchor(0.5f, 1.0f)//.anchor(0.5f, 1.0f)就在中间了。就可以放圆形啊什么的了。 .icon(descriptor) .draggable(false);//marker是否可拖拽
2.文字覆盖物,可以直接输入文字显示,可以调文字大小,颜色等值。代码一看就懂,不说太多了。代码如下。
OverlayOptions option = new TextOptions() .position(latLng) .text(lengths + "米") .zIndex(9) .fontColor(Color.rgb(51, 51, 51)) .fontSize(35);
3.折线覆盖物,顾名思义,就是给他传进两个或两个以上的点的经纬度,然后他会给你用直线连接起来。代码如下。
OverlayOptions ooPolyline = new PolylineOptions() .width(3) .color(Color.BLACK) .points(points2) .extraInfo(bundle);
4.多边形覆盖物,这个和折线覆盖物很像,都是传入两个或两个以上的点的经纬度,但是折线覆盖物是连线,这个是画片。具体实现,代码如下。
PolygonOptions polygonoptions = new PolygonOptions(); //实例化多边形覆盖物对象. polygonpoints.points(points); //添加坐标点 polygonoptions.fillColor(0xAAFFFF00); //多边形填充颜色 polygonpoints.stroke(new Stroke(2,0xAAFFFF00)); //设置多边形边框信息 Overlay polygon = bdMap.addOverlay(polygonoptions); //添加覆盖物.
5.InfoWindow,也是在地图上显示,很有用,很多基于地图实现的软件都会用到它,代码如下。
final InfoWindow mInfoWindow = new InfoWindow(view, marker.getPosition(), -47); mBaiduMap.showInfoWindow(mInfoWindow);
注意,这些覆盖物中都可以直接存入bundle,所以无需担心传值的问题。获取值那些什么的就不说了,太简单了。