Interagire con i punti d'interesse

Foto che mostra un piccolo popover con i dettagli del luogo nella parte inferiore dello schermo, visualizzato dopo un clic.

Quando un utente fa clic su un punto d'interesse (PDI), Maps 3D SDK for Android visualizza un widget Places per quel PDI. Puoi ascoltare gli eventi di clic e sopprimere questo widget utilizzando OnMap3DClickListener. Il widget Places richiede l'aggiunta di Places SDK come dipendenza.

Ascolta gli eventi di clic

Per ascoltare gli eventi di clic sulla mappa, chiama setMap3DClickListener sulla tua istanza GoogleMap3D.

Quando un utente fa clic sulla mappa, il callback onMap3DClick riceve un oggetto Map3DClickEvent contenente le seguenti proprietà:

  • location: LatLngAltitude che rappresenta le coordinate geografiche e l'altitudine del clic.
  • placeId: l'identificatore univoco (String?) del luogo nella posizione del clic o null se non esiste.

Il metodo onMap3DClick restituisce un Boolean:

  • Return false: mostra il widget dell'interfaccia utente di Places predefinito (se placeId non è null).
  • Return true: elimina il widget predefinito dell'interfaccia utente di Places.

L'esempio seguente mostra come impostare un click listener e sopprimere il widget UI di Places predefinito per eseguire un'azione personalizzata:

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
}