15 Jahre Google Maps Platform – Neuigkeiten und Ankündigungen

Steuerelemente und Gesten

Mit dem Maps SDK for Android kannst du anpassen, wie Nutzer mit der Karte interagieren. Dafür stellst du zuerst fest, welche der integrierten UI-Komponenten in der Karte erscheinen und welche Touch-Gesten zulässig sind.

Codebeispiele

Das ApiDemos-Repository auf GitHub enthält ein Beispiel, mit dem das Verwenden von Steuerelement- und Gestenoptionen veranschaulicht wird:

Lite-Modus für minimale Nutzerinteraktion

Falls du eine einfache Karte für minimale Nutzerinteraktion benötigst, kommt unter Umständen eine Lite-Modus-Karte für dich infrage. In diesem Modus wird ein Bitmapbild einer Karte an einer bestimmten Position und mit dem angegebenen Zoomfaktor angezeigt. Im Lite-Modus stehen dem Nutzer weder Schwenk- und Zoomfunktionen noch Touch-Gesten zur Verfügung. Weitere Informationen findest du im Leitfaden zum Lite-Modus.

UI-Steuerelemente

Die Google Maps API stellt integrierte UI-Steuerelemente bereit, die denen in der Google Maps App auf deinem Android-Smartphone ähneln. Die Sichtbarkeit dieser Steuerelemente lässt sich mit der Klasse UiSettings aktivieren und deaktivieren, die mit der GoogleMap.getUiSettings-Methode aus GoogleMap abgerufen werden kann. Änderungen an dieser Klasse werden unverzüglich auf der Karte widergespiegelt. Ein Beispiel für diese Funktionen siehst du in der Demoaktivität für UI-Einstellungen in der Beispiel-App.

Die meisten dieser Optionen kannst du auch konfigurieren, wenn die Karte über XML-Attribute oder mithilfe der Klasse GoogleMapOptions erstellt wird. Weitere Details findest du unter Anfangszustand konfigurieren.

Die Position jedes UI-Steuerelements ist vorab festgelegt und am Rand der Karte ausgerichtet. Du kannst die Steuerelemente weiter entfernt vom oberen, unteren, linken oder rechten Rand anzeigen lassen, indem du dem GoogleMap-Objekt einen Innenrand hinzufügst.

Zoomsteuerelemente

Über die Google Maps API werden integrierte Zoomsteuerelemente bereitgestellt, die unten rechts auf der Karte angezeigt werden. Sie sind standardmäßig deaktiviert, können aber durch Aufrufen von UiSettings.setZoomControlsEnabled(true) aktiviert werden.

Zoomsteuerelemente

Kompass

Die Google Maps API verfügt über eine Kompassgrafik, die unter bestimmten Umständen oben links auf der Karte erscheint. Der Kompass wird nur dann angezeigt, wenn die Kamera keine Nullrichtung oder keine Nullneigung aufweist. Wenn der Nutzer auf den Kompass klickt, wird die Kamera mit einer Animation an eine Position mit Nullrichtung und Nullneigung (Standardausrichtung) zurückbewegt und der Kompass wird anschließend allmählich ausgeblendet. Du kannst den Kompass vollständig deaktivieren, indem du UiSettings.setCompassEnabled(boolean) aufrufst. Du kannst jedoch nicht erzwingen, dass der Kompass immer angezeigt wird.

Kompass

Schaltfläche "Mein Standort"

Die Schaltfläche "Mein Standort" wird nur dann rechts oben auf dem Bildschirm angezeigt, wenn die Ebene "Mein Standort" aktiviert ist. Weitere Informationen findest du in der Anleitung zu Standortdaten.

Schaltfläche

Ebenen-Auswahl

Standardmäßig befindet sich eine Ebenenauswahl (Etagenauswahl) mittig am rechten Bildschirmrand, wenn sich der Nutzer eine Indoor-Karte ansieht. Wenn zwei oder mehr Indoor-Karten sichtbar sind, wird die Ebenenauswahl auf das Gebäude angewendet, das aktuell im Fokus ist. Das ist in der Regel das Fenster in der Mitte des Bildschirms. Jedes Gebäude hat eine Standardebene, die beim ersten Anzeigen der Auswahl zu sehen ist. Nutzer können in der Auswahl eine andere Ebene angeben.

Du kannst das Steuerelement zur Ebenenauswahl deaktivieren, indem du GoogleMap.getUiSettings().setIndoorLevelPickerEnabled(boolean) aufrufst.

Das ist hilfreich, wenn du die Auswahl für die Standardebene durch eine benutzerdefinierte Auswahl ersetzen möchtest.

Ebenen-Auswahl

Kartensymbolleiste

Standardmäßig erscheint eine Symbolleiste unten rechts auf der Karte, wenn ein Nutzer auf eine Markierung tippt. Diese Symbolleiste ermöglicht Nutzern das schnelle Aufrufen der mobilen Google Maps App.

Du kannst die Symbolleiste aktivieren und deaktivieren, indem du UiSettings.setMapToolbarEnabled(boolean) aufrufst.

Bei Karten im Lite-Modus wird die Symbolleiste unabhängig von den Aktionen des Nutzers durchgängig angezeigt. Bei vollständig interaktiven Karten gleitet die Symbolleiste zur Seite, wenn der Nutzer auf eine Markierung tippt, und gleitet wieder zurück, wenn die Markierung nicht mehr im Fokus ist.

Über die Symbolleiste kann auf Anforderungen von Kartenansichten oder Wegbeschreibungen in der mobilen Google Maps App zugegriffen werden. Wenn ein Nutzer auf ein Symbol tippt, wird über die API ein Intent erstellt, um die entsprechende Aktivität in der mobilen Google Maps App zu starten.

Kartensymbolleiste

Im Screenshot oben ist die Symbolleiste im unteren rechten Bereich der Karte zu sehen. Entweder werden keines, ein oder beide Intent-Symbole auf der Karte angezeigt. Das ist abhängig vom Inhalt der Karte und von der Voraussetzung, dass die mobile App von Google Maps das resultierende Intent unterstützt.

Touch-Gesten zur Kartensteuerung

Eine mit dem Maps SDK for Android erstellte Karte unterstützt dieselben Touch-Gesten wie die Google Maps App. In einigen Situationen kann es aber sinnvoll sein, bestimmte Gesten zu deaktivieren, damit die Karte nicht geändert werden kann. Das Zoomen, Schwenken und Neigen sowie das Ausrichten der Karte nach Kompass ist auch programmatisch möglich. Weitere Details findest du unter Kamera und Ansicht. Wenn du Gesten deaktivierst, hat das keinen Einfluss darauf, ob sich die Kameraposition programmatisch ändern lässt.

Wie die UI-Steuerelemente kannst du auch Touch-Gesten mit der Klasse UiSettings aktivieren und deaktivieren. Diese Klasse kannst du aus einer GoogleMap abrufen, indem du die Methode GoogleMap.getUiSettings aufrufst. Änderungen an dieser Klasse werden unverzüglich auf der Karte widergespiegelt. Ein Beispiel für diese Funktionen findest du in der Demo für UI-Einstellungen in der Beispiel-App. (Informationen zum Installieren)

Du kannst diese Optionen auch konfigurieren, wenn die Karte über XML-Attribute oder mithilfe der Klasse GoogleMapOptions erstellt wird. Weitere Details findest du unter Karte konfigurieren.

Touch-Gesten zum Zoomen

Die Karte reagiert auf verschiedene Touch-Gesten, mit denen sich der Zoomfaktor der Kamera ändern lässt:

  • Tippe doppelt, um den Zoomfaktor um den Wert 1 zu erhöhen (Heranzoomen).
  • Tippe mit zwei Fingern, um den Zoom um einen Schritt (Herauszoomen) zu verringern.
  • Du kannst die Finger auseinander- und zusammenziehen.
  • Zoome mit nur einem Finger, indem du doppelt tippst, aber beim zweiten Tippen den Finger nicht hebst, sondern ihn zum Herauszoomen nach oben oder zum Heranzoomen nach unten bewegst.

Gesten zum Zoomen lassen sich durch Aufrufen von UiSettings.setZoomGesturesEnabled(boolean) deaktivieren. Das hat keinen Einfluss darauf, ob ein Nutzer über die Zoomsteuerelemente heran- oder herauszoomen kann.

Touch-Gesten zum Scrollen oder Schwenken

Durch Ziehen einer Karte mit dem Finger kann ein Nutzer die Ansicht der Karte scrollen oder schwenken. Gesten zum Scrollen lassen sich durch Aufrufen von UiSettings.setScrollGesturesEnabled(boolean) deaktivieren.

Touch-Gesten zum Neigen

Der Nutzer kann die Karte neigen, indem er zwei Finger auf der Karte platziert und sie nach oben oder unten bewegt, um den Neigewinkel zu erhöhen bzw. zu verringern. Gesten zum Neigen lassen sich durch Aufrufen von UiSettings.setTiltGesturesEnabled(boolean) deaktivieren.

Touch-Gesten zum Drehen

Der Nutzer kann die Karte drehen, indem er zwei Finger auf der Karte platziert und mit ihnen eine Geste zum Drehen ausführt. Gesten zum Drehen lassen sich durch Aufrufen von UiSettings.setRotateGesturesEnabled(boolean) deaktivieren.