Android百度地图添加多个覆盖物
1,写一个类继承ItemizedOverlay<OverlayItem>
(要处理该覆盖物的点击事件,请重写其中的ontap()方法)
2,自定义覆盖物的样式及要显示的内容
(1)创建一个xml文件 添加你想要显示的类型控件
(2)将该xml转换成drawble(注意!!!)
View v=context.getLayoutInflater().inflate(R.layout.custom_text_view, null);
TextView text=v.findViewById(R.id.xxxxx);
text.setText("你要在覆盖物上显示的文字!");
将view传如下面方法中,转换成Drawable
(3)添加
Drawable drawable = BMapUtil.getDrawableFromView(v);
ArrayList<OverlayItem> l = new ArrayList<OverlayItem>();
OverlayItem item = new OverlayItem(Geopoint对象(要显示覆盖物的点),String arg1 , String title);
l.add(item);
MultOverlayUtil util = new MultOverlayUtil(d, mMapView, this, l);
util.addItem(l);
mapView.getOverlays().add(util);
mapView.refresh();
3,多个不同的覆盖物可以将经纬度点的集合封装成一个java类,通过循环进行添加显示不同的覆盖物
。