OSMdroid add custom icons to ItemizedOverlay
android, itemizedoverlay, osmdroid
Solution
Presumably your mItems is an ArrayList of OverlayItems created like:
mItems = new ArrayList<OverlayItem>();
To this list you will be adding individual OveralyItems, so when you create each item you can do it like this, setting the marker before you add it to the list:
OverlayItem olItem = new OverlayItem("Here", "SampleDescription", point);
Drawable newMarker = this.getResources().getDrawable(R.drawable.mymarker);
olItem.setMarker(newMarker);
mItems.add(olItem);
where mymarker is a .png in your drawables folder.
Update - to set default marker for whole overlay, change
this.mMyLocationOverlay = new ItemizedIconOverlay<OverlayItem>(mItems, new Glistener(), mResourceProxy);
to
this.mMyLocationOverlay = new ItemizedIconOverlay<OverlayItem>(mItems, newMarker, new Glistener(), mResourceProxy);
where newMarker is as before
Problem
I am using ItemizedIconOverlay class and I'm currently displaying events on the map along with the user's position with the same default icon. How do I change the icon set for each overlay? Is there something similar to the google.maps example: ``` drawable = getResources().getDrawable(R.drawable.marker); drawable3 = getResources().getDrawable(R.drawable.disruption); drawable2 = getResources().getDrawable(R.drawable.marker_me); itemizedOverlay = new MyItemizedOverlay(drawable, mapView); itemizedOverlay2 = new MyItemizedOverlay(drawable2, mapView); itemizedOverlay3 = new MyItemizedOverlay(drawable3, mapView); ``` I had each itemizedOverlay have its own marker... How do I do this with Open Street Maps? ``` mResourceProxy = new DefaultResourceProxyImpl(getApplicationContext()); this.mMyLocationOverlay = new ItemizedIconOverlay<OverlayItem>(mItems, new Glistener(), mResourceProxy); ``` Thank you for your help and its a shame not much support is available online for this open source project ...