Das Navigation SDK bietet verschiedene Möglichkeiten, eine Navigation in Ihre App einzubinden. Auf dieser Seite wird erläutert, was eine benutzerdefinierte Navigation ist und wie sie sich von anderen Navigationsoptionen unterscheidet, die im Navigation SDK verfügbar sind.
Was ist eine benutzerdefinierte Navigation?
Die primäre Methode zur Implementierung des Navigation SDKs ist die Verwendung der Google-Navigation. Damit können Sie eine detaillierte Routenführung einbetten, die von Google bereitgestellte UI-Elemente und visuelle Elemente verwendet – ähnlich wie die Navigation in den Google Maps-Apps. Wenn Sie mehr Flexibilität als die Navigation von Google benötigen, können Sie eine benutzerdefinierte Navigation implementieren. Eine benutzerdefinierte Navigation kann alles umfassen, von der vollständigen Eliminierung der Abbiegeverfahren und der Ausführung der Navigation nur als Hintergrundprozess bis hin zur Projektion einer stark personalisierten Navigation auf einen Bildschirm, der sich vom Gerät unterscheidet, auf dem die Navigation ausgeführt wird. Bei einer benutzerdefinierten Navigation ruft Ihre App das Navigations-SDK auf, um einen Schritt-für-Schritt-Navigationsfeed anzufordern. Anschließend stellen Sie die UI-Elemente und visuellen Elemente bereit und verwalten sie, die der Nutzer in der Navigation sieht. Die Navigation von Google ist zwar in der Regel einfacher zu implementieren, aber eine benutzerdefinierte Navigation bietet mehr Möglichkeiten zur Anpassung.
Wenn Sie eine benutzerdefinierte Navigation erstellen, ruft Ihre App das Navigations-SDK auf, um die Navigation zu starten, auszuführen und anzuhalten. Dabei wird der folgende Ablauf verwendet:
Starten Sie die Navigation. Wie bei der Google-Navigation müssen Sie auch bei einer benutzerdefinierten Navigationsfunktion eine Navigations-Instanz erstellen und das Ziel festlegen. Bei einer benutzerdefinierten Navigation wird dies jedoch dadurch erreicht, dass zuerst eine Navigationssitzung mit
GMSNavigationService.createNavigationSession
eingerichtet wird. Dabei handelt es sich um ein nicht zur Benutzeroberfläche gehörendes Objekt mit Status, das entweder mit oder ohne Viewcontroller verwendet werden kann.Weitere Informationen finden Sie unter Details zum Datenfeed für die Schritt-für-Schritt-Navigation.
Demo ansehen:Der Download des Navigation SDK enthält eine Demo, in der Sie ein Beispiel für eine Navigation sehen, die zwischen einer detaillierten Wegbeschreibung über die Standardnavigation und einer Navigation wechselt, bei der nur der Gerätestandort entlang einer Straßenpolylinie angezeigt wird.
Aktive Navigation Hier ist ein weiterer wichtiger Unterschied zwischen der von Google bereitgestellten Navigation und der benutzerdefinierten Navigation. Anstatt die Navigation an den integrierten Ereignismanager des Navigations-SDK weiterzuleiten, richten Sie einen Listener für detaillierte Schritt-für-Schritt-Anweisungen ein. Dazu implementieren Sie das
GMSNavigatorListener
-Protokoll und dann Ereignishandler. So kann Ihre App auf die Ereignisse reagieren, die unter Auf Navigationsereignisse achten beschrieben sind.Navigation beenden Wie bei der Google-Navigation müssen Sie auch bei der benutzerdefinierten Navigation die Navigation so beenden, wie es für die App am besten geeignet ist.
Wann würden Sie eine benutzerdefinierte Navigation verwenden?
In der folgenden Tabelle sind einige Szenarien für die benutzerdefinierte Navigation beschrieben.
Beispiel |
Allgemeine Schritte |
---|---|
Für kleine Geräte wie Zweiräder müssen Sie nur Textanweisungen für Fahrer bereitstellen. |
Erstellen Sie Ihren Navigationsassistenten und richten Sie die detaillierte Routenführung als Datenfeed für ein Gerät mit kleinem Display ein, während der Navigationsassistent auf dem Smartphone des Fahrers außerhalb seines direkten Blickfelds ausgeführt wird. |
Sie möchten Ihre App als Autodienst für Fahrer verfügbar machen, die Apple CarPlay verwenden. |
Weitere Informationen finden Sie unter Navigation für CarPlay aktivieren. |
Nutzer Ihrer App wünschen sich für den Großteil ihrer Fahrt eine Übersichtskarte mit nur minimaler detaillierter Routenführung für innerstädtische Straßen. |
Mit Ihrer App sollten Fahrer die Google Navigation nach Bedarf starten und beenden können, ohne die Einstellungen für Ziel und Fahrtmodus ändern zu müssen. |