gpt4 book ai didi

android - OSMdroid 添加自定义图标到 ItemizedOverlay

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:25:25 27 4
gpt4 key购买 nike

我正在使用 ItemizedIconOverlay 类,我目前在 map 上显示事件以及具有相同默认图标的用户位置。

如何更改每个叠加层的图标集?

是否有类似于 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 都有自己的标记...

如何使用 Open Street Maps 执行此操作?

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。

更新 - 为整个覆盖设置默认标记,更改

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

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

newMarker 和之前一样

关于android - OSMdroid 添加自定义图标到 ItemizedOverlay,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10533071/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com