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 SDK do Places 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 callback onMap3DClick recebe um objeto Map3DClickEvent com 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 nenhum.

O método onMap3DClick retorna um Boolean:

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

O exemplo a seguir mostra como definir um listener de cliques e suprimir o widget de IU padrão do Places 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
}