Взаимодействие с достопримечательностями

Фотография, на которой показано небольшое всплывающее окно с информацией о месте в нижней части экрана, которое появляется после нажатия.

Когда пользователь нажимает на объект инфраструктуры, Maps 3D SDK для Android показывает виджет Places для этого объекта. Вы можете отслеживать события кликов и скрывать этот виджет с помощью OnMap3DClickListener. Для работы виджета Places необходимо добавить Places SDK в качестве зависимости.

Отслеживание событий кликов

Чтобы отслеживать события кликов на карте, вызовите метод setMap3DClickListener в экземпляре GoogleMap3D.

Когда пользователь нажимает на карту, обратный вызов onMap3DClick получает объект Map3DClickEvent со следующими свойствами:

  • location – объект LatLngAltitude, представляющий географические координаты и высоту клика.
  • placeId – уникальный идентификатор (String?) места, на которое нажал пользователь, или null, если такого места нет.

Метод onMap3DClick возвращает объект Boolean:

  • Return false – показывает виджет Places UI по умолчанию (если для placeId не задано значение null).
  • Return true: подавляет виджет Places UI по умолчанию.

В следующем примере показано, как настроить прослушиватель кликов и отключить виджет Places UI по умолчанию, чтобы выполнить настраиваемое действие.

googleMap3D.setMap3DClickListener { clickEvent ->
    val location = clickEvent.location
    val placeId = clickEvent.placeId

    // Perform custom action, for example logging or showing a custom tooltip
    showCustomTooltip(location, placeId)

    // Suppress the default Places UI widget by returning true
    true
}