Interagir com pontos de interesse

Foto mostrando um pequeno popover com detalhes do lugar na parte de baixo da tela, que aparece após um clique.

Quando um usuário clica em um ponto de interesse (PDI), o SDK do Maps 3D para Android mostra um widget do Places para esse PDI. É possível detectar eventos de clique e suprimir esse widget usando OnMap3DClickListener. O widget do Places exige que você adicione o Places SDK como uma dependência.

Detectar eventos de clique

Para detectar eventos de clique no mapa, chame setMap3DClickListener na instância GoogleMap3D.

Quando um usuário clica no mapa, o onMap3DClick callback recebe um Map3DClickEvent objeto que contém as seguintes propriedades:

  • location: O LatLngAltitude que representa as coordenadas geográficas e a altitude do clique.
  • placeId: o identificador exclusivo (String?) do lugar no local do clique ou null se não houver.

O onMap3DClick método retorna um Boolean:

  • Retornar false: mostra o widget de interface do Places padrão (se placeId não for null).
  • Retornar true: suprime o widget de interface do Places padrão.

O exemplo a seguir mostra como definir um listener de clique e suprimir o widget de interface do Places padrão para realizar uma ação personalizada:

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
}