how to add more marker in osm map in android

久未见 提交于 2019-12-01 22:53:57

Use Itemized Overlay like this (populate method is most important)

public class CustomOverLay extends ItemizedOverlay<OverlayItem> {

private ArrayList<OverlayItem> overlayItems = new ArrayList<OverlayItem>();
private MapView mapView;

public CustomOverLay(Drawable drawable, MapView mapView) {
    super(boundCenterBottom(drawable));
    this.mapView = mapView;
}

public void addOverlayItem(OverlayItem item) {
    overlayItems.add(item);
    populate();
}

@Override
protected OverlayItem createItem(int index) {
    return overlayItems.get(index);
}

@Override
public int size() {
    return overlayItems.size();
}

@Override
protected boolean onTap(int index) {
    return true;
}

}

and once you did this follow the code bellow, add OverlayItem for the number markers you want to place in the Map

List<Overlays> mapOverlays = mapView.getOverlays();
CustomOverLay overlays = new CustomOverLay(drawable, mapView);

GeoPoint p = new GeoPoint(getLat(util.getLatitude()), getLong(util.getLongitude()));
OverlayItem overlayItem = new OverlayItem(p, "", "");
overlays.addOverlayItem(overlayItem);


GeoPoint p = new GeoPoint(getLat(util.getLatitude()), getLong(util.getLongitude()));
OverlayItem overlayItem = new OverlayItem(p, "", "");
overlays.addOverlayItem(overlayItem);

..... so on

mapOverlays.add(overlays);

cheers

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!