OSMdroid добавляет пользовательские значки в ItemizedOverlay

Я использую класс ItemizedIconOverlay и в настоящее время отображаю события на карте вместе с положением пользователя с тем же значком по умолчанию.

Как изменить набор значков для каждого наложения?

Есть ли что-то похожее на пример google.maps:

<code>    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);
</code>

У меня у каждого itemizedOverlay есть свой маркер ...

Как мне сделать это с Open Street Maps?

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

Спасибо за вашу помощь, и, к сожалению, не так много поддержки в Интернете для этого проекта с открытым исходным кодом ...

Ответы на вопрос(1)

Решение Вопроса

созданный как:

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 в вашей папке drawables.

Update - установить маркер по умолчанию для всего наложения, изменить

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

в

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

где newMarker как и прежде

 bubbly10 мая 2012 г., 15:05
Спасибо, это сработало!
 bubbly10 мая 2012 г., 15:41
Работает как шарм. Благодарю.
 13 дек. 2013 г., 23:15
Проблема, с которой я столкнулся, заключается в том, что мои пользовательские маркеры выглядят очень большими: /
 10 мая 2012 г., 15:33
Да, похоже, есть еще один конструктор, который также принимает маркер по умолчанию. Я отредактирую свой ответ обновлением
 bubbly10 мая 2012 г., 15:07
Но можно ли добавить маркер по умолчанию для всего наложения? Like itemizedOverlay = new MyItemizedOverlay (drawable, mapView); и затем каждый элемент, добавленный в это наложение, получает определенный маркер.

Ваш ответ на вопрос