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

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

Когда пользователь нажимает на объект инфраструктуры, 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 по умолчанию, чтобы выполнить настраиваемое действие:

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
}