Benutzerdefinierte Navigation

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 Navigationsfunktionen im Navigation SDK unterscheidet.

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 benötigen, als die Google-Navigation bietet, können Sie eine benutzerdefinierte Navigation implementieren. Eine benutzerdefinierte Navigation kann alles sein – von der vollständigen Eliminierung der Abbiegehinweise und der Ausführung der Navigation nur als Hintergrundprozess bis hin zur Projektion einer stark angepassten Navigation auf einen Bildschirm, der vom Gerät getrennt ist, auf dem die Navigation ausgeführt wird. 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 Verwendung der Google-Navigation ist im Allgemeinen einfacher zu implementieren, aber die Erstellung einer eigenen benutzerdefinierten Navigation ermöglicht mehr Anpassungen.

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 folgender Ablauf verwendet:

  1. Starten Sie die Navigation. Wenn Sie eine benutzerdefinierte Navigation starten möchten, erstellen Sie eine Navigationsinstanz und legen Sie das Ziel fest. Rufen Sie die Navigator-Instanz mit NavigationApi.getNavigator ab und registrieren Sie sich dann mit navigator.registerServiceForNavUpdates für Updates.

    Weitere Informationen finden Sie unter Datenfeed für detaillierte Routenführung aktivieren.

    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 durch die Standardnavigation und einer Navigation wechselt, bei der nur der Gerätestandort angezeigt wird, der sich entlang einer Straßenpolylinie bewegt.

  2. Aktive Navigation: Hier ist ein weiterer wichtiger Unterschied zwischen der von Google bereitgestellten Navigation und einer benutzerdefinierten Navigation. Anstatt die Routenführung an den integrierten Event Manager des Navigation SDK zu übergeben, aktivieren Sie den Feed für die detaillierte Routenführung und implementieren Event-Handler. 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 Gerät mit kleinem Bildschirm ein, während der Navigator auf dem Smartphone des Fahrers außerhalb seines unmittelbaren Sichtfelds ausgeführt wird.

Du möchtest deine App als Dienst für Autofahrer verfügbar machen, die Android Auto verwenden.

  1. Richten Sie den Fahrdienst ein.
  2. Richten Sie Ihr Navigation SDK-Projekt ein.
  3. Richten Sie einen Navigator ein, falls Sie das noch nicht getan haben.
  4. Aktivieren Sie den Feed für die detaillierte Routenführung.
  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 Android Auto aktivieren.

Fahrer, die Ihre App verwenden, möchten für den Großteil ihrer Fahrt eine Übersichtskarte und nur für Stadtstraßen eine detaillierte Routenführung.

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