Mit POIs interagieren

Foto, das ein kleines Pop-over mit Ortsdetails am unteren Bildschirmrand zeigt, das durch einen Klick aufgerufen wurde.

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: Die LatLngAltitude, die die geografischen Koordinaten und die Höhe des Klicks darstellt.
  • placeId: Die eindeutige Kennung (String?) für den Ort an der Klickposition oder null, falls keine vorhanden ist.

Die Methode onMap3DClick gibt ein Boolean zurück:

  • Return false: Zeigt das Standard-Places-UI-Widget an (wenn placeId nicht null ist).
  • 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
}