Das Navigation SDK bietet verschiedene Möglichkeiten, eine Navigationsfunktion in Ihre App einzubinden. Auf dieser Seite wird erläutert, was eine benutzerdefinierte Navigationsfunktion ist und wie sie sich von anderen Navigationsfunktionen unterscheidet, die im Navigation SDK verfügbar sind.
Was ist eine benutzerdefinierte Navigationsfunktion?
Die primäre Methode zum Implementieren des Navigation SDK ist die Verwendung der Google Navigationsfunktion, damit Sie eine detaillierte Routenführung einbetten können, die von Google bereitgestellte UI-Elemente und Grafiken verwendet – ähnlich der Navigationsfunktion in den Google Maps-Apps. Wenn Sie mehr Flexibilität benötigen, als die Google-Navigationsfunktion bietet, können Sie eine benutzerdefinierte Navigationsfunktion implementieren. Eine benutzerdefinierte Navigationsfunktion kann alles umfassen, von der vollständigen Deaktivierung der Routenführung mit und der Ausführung der Navigation nur als Hintergrundprozess bis hin zur Projektion einer stark angepassten Routenführung auf einen Bildschirm, der sich von dem Gerät unterscheidet, auf dem die Navigation ausgeführt wird. Bei einer benutzerdefinierten Navigationsfunktion ruft Ihre App das Navigation SDK auf, um einen detaillierten Routenführungsfeed anzufordern. Anschließend stellen Sie die UI-Elemente und Grafiken bereit und verwalten sie, die der Nutzer in der Navigationsfunktion sieht. Die Verwendung der Google-Navigationsfunktion ist in der Regel einfacher zu implementieren, aber das Erstellen einer eigenen benutzerdefinierten Navigationsfunktion bietet mehr Anpassungsmöglichkeiten.
Wenn Sie eine benutzerdefinierte Navigationsfunktion erstellen, ruft Ihre App das Navigation SDK auf, um die Navigation zu starten, auszuführen und zu beenden. Dabei wird folgender Ablauf verwendet:
Navigation starten Wenn Sie eine benutzerdefinierte Navigationsfunktion starten möchten, erstellen Sie eine Navigationsinstanz und legen Sie das Ziel fest. Richten Sie eine Navigationssitzung mit
GMSNavigationService.createNavigationSessionein. Dieses zustandsbehaftete Nicht-UI-Objekt funktioniert mit oder ohne View-Controller.Weitere Informationen finden Sie unter Details zum detaillierten Routenführungs feed.
Demo ansehen:Der Download des Navigation SDK enthält eine Demo, mit der Sie ein Beispiel für eine Navigationsfunktion sehen können, die zwischen der detaillierten Routenführung über die Standardnavigation und einer Navigationsfunktion wechselt, bei der nur der Standort des Geräts entlang einer Straßenpolyline angezeigt wird.
Aktive Navigation Hier ist ein weiterer wichtiger Unterschied zwischen einer von Google bereitgestellten Navigationsfunktion und einer benutzerdefinierten Navigationsfunktion. Anstatt die Routenführung an den integrierten Ereignismanager des Navigation SDK zu übergeben, richten Sie einen Listener für die detaillierte Routenführung ein, indem Sie das
GMSNavigatorListener-Protokoll implementieren und dann Ereignishandler implementieren. So kann Ihre Funktion auf die unter Auf Navigationsereignisse warten beschriebenen Ereignisse reagieren.Navigation beenden Wie bei der Google-Navigationsfunktion müssen Sie auch bei der benutzerdefinierten Navigation die Navigation auf die für die App am besten geeignete Weise beenden.
Wann sollten Sie eine benutzerdefinierte Navigationsfunktion verwenden?
In der folgenden Tabelle werden einige Szenarien für benutzerdefinierte Navigation beschrieben.
Beispiel |
Der Ablauf im Überblick |
|---|---|
Sie müssen eine reine Text-Routenführung für kleine Geräte wie Zweiräder bereitstellen. |
Erstellen Sie Ihren Navigator und richten Sie die detaillierte Routenführung als Daten feed für ein kleines Bildschirmgerät ein, während der Navigator auf dem Mobiltelefon des Fahrers außerhalb seines unmittelbaren Sichtfelds ausgeführt wird. |
Sie möchten Ihre App als Autoservice für Fahrer verfügbar machen, die Apple CarPlay verwenden. |
Weitere Informationen finden Sie unter Navigation für CarPlay aktivieren. |
Fahrer, die Ihre App verwenden, möchten für den Großteil ihrer Fahrt eine Übersichtskarte mit nur minimaler detaillierter Routenführung für Stadtstraßen. |
Ihre App sollte es Fahrern ermöglichen, die Google-Navigationsfunktion nach Bedarf zu starten und zu beenden, ohne die Einstellungen des Navigators für Ziel und Reisemodus zu ändern. |