OSMdroid添加自定义图标ItemizedOverlay(OSMdroid add custom

2019-06-24 07:25发布

我使用ItemizedIconOverlay类和我目前显示与用户相同的默认图标位置沿着地图上的事件。

如何更改每个重叠设置的图标?

是否有类似google.maps例子的东西:

    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有自己的标志......

如何与开放街道地图,这样做呢?

mResourceProxy = new DefaultResourceProxyImpl(getApplicationContext());
this.mMyLocationOverlay = new ItemizedIconOverlay<OverlayItem>(mItems, new Glistener(), mResourceProxy);

谢谢您的帮助,它的一个耻辱没有多少支持可在线这个开源项目...

Answer 1:

想必你mItems就像创建OverlayItems的ArrayList:

mItems = new ArrayList<OverlayItem>();

为了这个名单,你会加入个人OveralyItems,所以当你创建的每个项目,你可以像这样做,设置标记将其添加到列表之前:

OverlayItem olItem = new OverlayItem("Here", "SampleDescription", point);
Drawable newMarker = this.getResources().getDrawable(R.drawable.mymarker);
olItem.setMarker(newMarker);
mItems.add(olItem);

其中mymarker是在你的可绘制文件夹为.png。

更新 -设置默认标志物全覆盖,变化

this.mMyLocationOverlay = new ItemizedIconOverlay<OverlayItem>(mItems, new Glistener(), mResourceProxy);

this.mMyLocationOverlay = new ItemizedIconOverlay<OverlayItem>(mItems, newMarker, new Glistener(), mResourceProxy);

其中newMarker是前



文章来源: OSMdroid add custom icons to ItemizedOverlay