Multiple overlay items in android
- by Bostjan
I seem to be having a problem with using ItemizedOverlay and OveralyItems in it.
I can get the first overlayItem to appear on the map but not any items after that.
Code sample is on: 
http://www.anddev.org/multiple_overlay_items-t12171.html
Quick overview here:
public class Markers extends ItemizedOverlay {
 private Context ctx;
 private ArrayList<OverlayItem> mOverlays = new ArrayList<OverlayItem>();
 public Markers(Drawable defaultMarker, Context cont) {
      super(boundCenterBottom(defaultMarker));
      this.ctx = cont;
      // TODO Auto-generated constructor stub
 }
 @Override
 protected OverlayItem createItem(int i) {
      // TODO Auto-generated method stub
      return mOverlays.get(i);
 }
 @Override
 public boolean onTap(GeoPoint p, MapView mapView) {
      // TODO Auto-generated method stub
      return super.onTap(p, mapView);
 }
 @Override
 protected boolean onTap(int index) {
      // TODO Auto-generated method stub
      Toast.makeText(this.ctx, mOverlays.get(index).getTitle().toString()+", Latitude: "+mOverlays.get(index).getPoint().getLatitudeE6(), Toast.LENGTH_SHORT).show();
      return super.onTap(index);         
 }
 @Override
 public int size() {
      // TODO Auto-generated method stub
      return mOverlays.size();
 }
 public void addOverlay(OverlayItem item) {
      mOverlays.add(item);
      setLastFocusedIndex(-1);
      populate();
 }
 public void clear() {
      mOverlays.clear();
      setLastFocusedIndex(-1);
      populate();
 }}
Markers usersMarker = new Markers(user,overview.this); 
GeoPoint p = new GeoPoint((int) (lat * 1E6),(int) (lon * 1E6));
OverlayItem item = new OverlayItem(p,userData[0],userData[3]);
item.setMarker(this.user);
usersMarker.addOverlay(item); 
The lines after the class are just samples of how it's used
the first marker shows up on the map but if I add any more they don't show up? Is there a problem with the populate() method? I tried calling it manually after adding all markers but it still didn't help. Please, if you have any idea what could be wrong, say so.