Как в Yandex MapKit для Android по тапу на geoObject выделять его цветом?

Столкнулся с необходимостью выделять здания цветом по тапу на них. Как реализовать подобную логику в YandexMapKit SDK для Android?


Ответы (1 шт):

Автор решения: doq

Для реализации подобной логики, можно воспользоваться следующим примером:

@Override
    public boolean onObjectTap(GeoObjectTapEvent event) {
        final GeoObjectSelectionMetadata selectionMetadata = event.getGeoObject()
                .getMetadataContainer()
                .getItem(GeoObjectSelectionMetadata.class);

        if (selectionMetadata != null) {
            mapview.getMap().selectGeoObject(selectionMetadata.getId(), selectionMetadata.getLayerId());
        }
    }

onObjectTap - метод GeoObjectTapListener

Также необходимо не забывать, что ссылку на GeoObjectTapListener необходимо размещать в полях класса, а не локально. Т.к. MapKit не держит сильной ссылки как обычные JAVA API

→ Ссылка