这段时间和百度地图打了很多的交道,最开始没有仔细看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,所以无需担心传值的问题。获取值那些什么的就不说了,太简单了。嗯,就这样。