Hi,
I am trying to plot some markers on a google map.There are 2 different 
marker drawables, the orange one is for the user's location and green ones 
are for all other points.I have followed this source code from 
CommonsWare<https://github.com/commonsguy/cw-advandroid/blob/master/Maps/ILuvNooYawk/src/com/commonsware/android/luv/NooYawk.java>.Here
 
is my ItemizedOverlay and OverlayItem class:

       class DoItemizedOverlay extends ItemizedOverlay<CustomOverlayItem> {
>
>         private ArrayList<CustomOverlayItem> items = new 
> ArrayList<CustomOverlayItem>();
>         Context mcontext;
>         public DoItemizedOverlay(Context context,ArrayList<OverlayPoint> 
> overlays) 
>         {
>             super(null);
>             mcontext=context;
>             // TODO Auto-generated constructor stub
>             
>             for(OverlayPoint p:overlays)
>             {
>                 CustomOverlayItem item;
>                 if(p.src)
>                 {
>                     item=new CustomOverlayItem(p.p,p.name, p.snippet, 
> getMarker(R.drawable.src_marker), true);
>                 }
>                 else
>                 {
>                     item=new CustomOverlayItem(p.p, p.name, p.snippet, 
> getMarker(R.drawable.marker), false);
>                 }
>                 items.add(item);
>                 //populate();
>             }
>             Log.d("MAPI", String.valueOf(items.size()));
>             populate();
>         }
>
>         
>         
>          @Override
>         public void draw(Canvas canvas, MapView mapView,
>                           boolean shadow) {
>           super.draw(canvas, mapView, false);
>           
>         }
>         
>         @Override
>         protected CustomOverlayItem createItem(int i) 
>         {
>           return items.get(i);
>         }
>
>         @Override
>         public int size() 
>         {
>           return items.size();
>         }
>
>         
>         private Drawable getMarker(int resource) {
>               Drawable marker=getResources().getDrawable(resource);
>               
>               marker.setBounds(0, 0, marker.getIntrinsicWidth(),
>                                 marker.getIntrinsicHeight());
>               boundCenter(marker);
>
>               return(marker);
>             }
>     }
>

   class CustomOverlayItem extends OverlayItem {
>         Drawable marker=null;
>         boolean src;
>         
>         CustomOverlayItem(GeoPoint pt, String name, String snippet,
>                    Drawable marker,boolean s) {
>           super(pt, name, snippet);
>           
>           this.marker=marker;
>           this.src=s;
>         }
>         
>         @Override
>         public Drawable getMarker(int stateBitset) {
>           
>           setState(this.marker, stateBitset);
>           return(this.marker);
>         }
>       }
>

    class OverlayPoint{
>         GeoPoint p;
>         String name,snippet;
>         boolean src;
>         
>         public OverlayPoint(GeoPoint pn,String nm,String sn,boolean s) {
>             // TODO Auto-generated constructor stub
>             p=pn;
>             name=nm;
>             snippet=sn;
>             src=s;
>         }
>     }
>  
>
I am adding the Overlay this way

>     DoItemizedOverlay sourcemarker=new 
> DoItemizedOverlay(ChildcareHost.mContext,OPs);
>                     mapView.getOverlays().add(sourcemarker);
>                     mapView.setBuiltInZoomControls(true);
>                     mapView.setStreetView(true);
>                     mapView.invalidate(); 
>                     
> mapView.getController().zoomToSpan(sourcemarker.getLatSpanE6(), 
> sourcemarker.getLonSpanE6());
>                     mapView.getController().animateTo(src);
>
 
But when I run the app on an emulator I am only seeing 2 markers,the 1st 
and the last one added while the log shows that there are 20 items in the 
items ArrayList.What am I doing wrong? Please Help!!







-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to