我正在使用 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);
感谢您的帮助,遗憾的是这个开源项目没有太多在线支持......
假设您的 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。
Update- 要为整个覆盖设置默认标记,请更改
this.mMyLocationOverlay = new ItemizedIconOverlay<OverlayItem>(mItems, new Glistener(), mResourceProxy);
to
this.mMyLocationOverlay = new ItemizedIconOverlay<OverlayItem>(mItems, newMarker, new Glistener(), mResourceProxy);
其中 newMarker 与以前一样
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)