Wenn ein Nutzer auf einen POI klickt, zeigt das Maps 3D SDK for Android ein Places-Widget für diesen POI an. Sie können Click-Events beobachten und dieses Widget mit OnMap3DClickListener unterdrücken.
Für das Places-Widget müssen Sie das Places SDK als Abhängigkeit hinzufügen.
Auf Klickereignisse warten
Wenn Sie Click-Events auf der Karte erfassen möchten, rufen Sie setMap3DClickListener für Ihre GoogleMap3D-Instanz auf.
Wenn ein Nutzer auf die Karte klickt, empfängt der Callback onMap3DClick ein Map3DClickEvent-Objekt mit den folgenden Attributen:
location: DieLatLngAltitude, die die geografischen Koordinaten und die Höhe des Klicks darstellt.placeId: Die eindeutige Kennung (String?) für den Ort an der Klickposition odernull, falls keine vorhanden ist.
Die Methode onMap3DClick gibt ein Boolean zurück:
- Return
false: Zeigt das Standard-Places-UI-Widget an (wennplaceIdnichtnullist). - Return
true: Unterdrückt das Standard-Places-UI-Widget.
Im folgenden Beispiel wird gezeigt, wie Sie einen Klick-Listener festlegen und das Standard-Places-UI-Widget unterdrücken, um eine benutzerdefinierte Aktion auszuführen:
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
}