Benutzerdefinierte Navigation

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 Navigation?

Das Navigation SDK wird hauptsächlich über die Google-Navigation implementiert. Damit können Sie eine detaillierte Routenführung mit von Google bereitgestellten UI-Elementen und Grafiken einbetten, ähnlich wie in der Google Maps App. Wenn Sie mehr Flexibilität als bei der Google-Navigation benötigen, können Sie eine benutzerdefinierte Navigation implementieren. Eine benutzerdefinierte Navigation kann alles umfassen, von der vollständigen Deaktivierung der Abbiegehinweise und der Ausführung der Navigation nur als Hintergrundprozess bis hin zur Projektion einer stark angepassten Navigation auf einen Bildschirm, der sich vom Gerät, auf dem die Navigation ausgeführt wird, unterscheidet. Bei einer benutzerdefinierten Navigation ruft Ihre App das Navigation SDK auf, um einen detaillierten Routenführungsfeed anzufordern. Anschließend stellen Sie die UI-Elemente und visuellen Elemente bereit, die der Nutzer in der Navigation sieht, und verwalten sie. Die Implementierung der Google-Navigation ist in der Regel einfacher, aber wenn Sie Ihre eigene benutzerdefinierte Navigation erstellen, haben Sie mehr Möglichkeiten zur Anpassung.

Wenn Sie eine benutzerdefinierte Navigation erstellen, ruft Ihre App das Navigation SDK auf, um die Navigation zu starten, auszuführen und zu beenden. Dabei wird der folgende Ablauf verwendet:

  1. Starten Sie die Navigation. Um eine benutzerdefinierte Navigation zu starten, erstellen Sie eine Navigationsinstanz und legen Sie das Ziel fest. Richten Sie mit GMSNavigationService.createNavigationSession eine Navigationssitzung ein. Dieses zustandsbehaftete Nicht-UI-Objekt funktioniert mit oder ohne View-Controller.

    Weitere Informationen finden Sie unter Details zum Datenfeed für die detaillierte Routenführung.

    Demo ansehen:Der Download des Navigation SDK enthält eine Demo, die Sie ausführen können, um ein Beispiel für eine Navigation zu sehen, die zwischen der detaillierten Routenführung über die Standardnavigation und einer Navigation wechselt, bei der nur der Gerätestandort angezeigt wird, der sich entlang einer Straßen-Polylinie bewegt.

  2. Aktive Navigation: Hier ist ein weiterer wichtiger Unterschied zwischen einer von Google bereitgestellten Navigationsfunktion und einer benutzerdefinierten Navigationsfunktion. Anstatt die Anleitung an den integrierten Ereignismanager des Navigation SDK zu übergeben, richten Sie einen Listener für detaillierte Routenführung ein, indem Sie das GMSNavigatorListener-Protokoll implementieren, und implementieren dann Ereignishandler. So kann Ihre Anwendung auf die unter Auf Navigationsereignisse warten beschriebenen Ereignisse reagieren.

  3. 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 werden einige benutzerdefinierte Navigationsszenarien beschrieben.

Beispielszenario

Allgemeine Schritte

Sie müssen reine Textanweisungen für kleine Geräte wie Zweiräder bereitstellen.

Erstellen Sie Ihren Navigator und richten Sie die detaillierte Routenführung als Datenfeed für ein kleines Display ein, während der Navigator auf dem Smartphone 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.

  1. Richtet den Autoservice ein.
  2. Richten Sie Ihr Navigation SDK-Projekt ein.
  3. Richten Sie einen Navigator ein, falls noch nicht geschehen.
  4. Listener für detaillierte Routenführung einrichten
  5. Zeichnen Sie die Karte auf der Oberfläche der Auto-App und füllen Sie die Felder aus dem von Ihnen konfigurierten Datenfeed aus.

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 minimaler detaillierter Routenführung für Stadtstraßen.

In Ihrer App sollten Fahrer die Google-Navigation nach Bedarf starten und beenden können, ohne die Einstellungen des Navigators für Ziel und Fahrmodus ändern zu müssen.