OSMdroid添加自定义图标ItemizedOverlay [英] OSMdroid add custom icons to ItemizedOverlay
问题描述
我使用ItemizedIconOverlay类和我目前正在与使用相同的默认图标用户的位置显示在地图上的事件。
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?
有没有类似google.maps例如东西:
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);
我有每个itemizedOverlay有自己的标志......
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 ...
推荐答案
presumably你mItems是OverlayItems像创建一个ArrayList
Presumably your mItems is an ArrayList of OverlayItems created like:
mItems = new ArrayList<OverlayItem>();
要这个名单要添加个人OveralyItems,所以当你创建的每个项目,你可以像这样,设置标记将其添加到列表之前:
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);
在这里mymarker是在你的可绘制文件夹为.png。
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);
到
this.mMyLocationOverlay = new ItemizedIconOverlay<OverlayItem>(mItems, newMarker, new Glistener(), mResourceProxy);
在这里newMarker是因为之前
where newMarker is as before
这篇关于OSMdroid添加自定义图标ItemizedOverlay的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!