Отобразить балун (информацию о метке) по клику на неё (Yandex Mapkit)

Подскажите алгоритм или поделитесь примером как в Yandex Mapkit (Android, Java) отследить клик по метке и вывести информацию о ней (балун). Информация будет предварительно получена для каждой метки, пока основной вопрос именно в том, как выводить балун.


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

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

Реализовано следующим образом.

  1. Создать метку, сохранить нужную информацию о метке в объект, присвоить метке (placemark) данные из объекта (placemark_data):

    placemark.setUserData(placemark_data);
    
  2. Тут же добавить метке слушатель:

    placemark.addTapListener(this);
    
  3. Обработка тапа по метке производится в методе onMapObjectTap, например вот так можно вывести данные по метке в TextView:

     @Override
     public boolean onMapObjectTap(@NonNull MapObject mapObject, @NonNull Point point) {
         PlacemarkInfo.setText(mapObject.getUserData().toString());
         ...
     }
    

Необходимо учитывать, что по умолчанию метод toString() выведет результат в нечитаемом виде. Чтобы это исправить, нужно переопределить этот метод в классе, экземпляром которого является объект placemark_data.

→ Ссылка