OSMdroid add custom icons to ItemizedOverlay

不问归期 提交于 2019-12-18 13:32:34

问题


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 ...


回答1:


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



来源:https://stackoverflow.com/questions/10533071/osmdroid-add-custom-icons-to-itemizedoverlay

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