OSMdroid添加自定义图标ItemizedOverlay [英] OSMdroid add custom icons to ItemizedOverlay

查看:800
本文介绍了OSMdroid添加自定义图标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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆