Изменение стиля метки при клике на неё
Необходимо по клику на метку выводить данные о ней и менять её цвет, чтобы выделялась среди остальных и было понятно какая метка сейчас выбрана. Стиль метки задан с помощью изображения, поэтому на выделенной метке мне нужно просто заменить изображение на другое.
Вывести текст получается, так как и у объекта метки и у объекта, который задан в слушателе нажатия есть общие нужные методы (getUserData()):
@Override
public boolean onMapObjectTap(@NonNull MapObject mapObject, @NonNull Point point) {
PlacemarkInfo.setVisibility(VISIBLE);
PlacemarkInfo.setText(mapObject.getUserData().toString());
return true;
}
А вот нужный для смены стиля метки метод setIcon() не применим для объекта слушателя mapObject. Как быть в этом случае и как можно изменить стиль метки?
Ответы (1 шт):
Автор решения: all_possible
→ Ссылка
Решается следующим образом:
@Override
public boolean onMapObjectTap(@NonNull MapObject mapObject, @NonNull Point point) {
...
if (mapObject instanceof PlacemarkMapObject) {
PlacemarkMapObject select_placemark = (PlacemarkMapObject) mapObject;
select_placemark.setIcon(image);
}
...
}