Manchmal möchten Sie die Route planen, die Ihre App Nutzern anbietet. Mit einem Routentoken aus der Routes API, der Routes Preferred API oder der Route Optimization API können Sie zwei Dinge für Ihre geplante Route angeben:
Eine Polylinie für die Route
Ihre Zielvorhaben für die Route
Hier einige Beispiele für mögliche Zielvorhaben für die Weiterleitung:
Lieferzeit minimieren: Ein Unternehmen, das Lebensmittel liefert, möchte die Lieferzeit möglicherweise minimieren.
Fahrtzeit oder Kraftstoffverbrauch minimieren: Ein Logistikunternehmen möchte möglicherweise die Effizienz seiner Fahrer steigern und die Kraftstoffkosten senken.
Zeit bis zum Ziel minimieren: Bei einem Dienstweiterleitungsvorgang kann es sinnvoll sein, die Zeit zu minimieren, die benötigt wird, um Operatoren zu einer Jobanfrage zu erhalten.
Kosten senken und Sicherheit verbessern: Ein Unternehmen für Fahrgemeinschaften möchte möglicherweise eine Route finden, die für Fahrgäste weniger kostet und bestimmte Gebiete aus Sicherheitsgründen umgeht.
Weitere Informationen zum Planen einer Route mit einem Routen-Token finden Sie unter Routen-Token anfordern in der Routes API und unter Übergangspolylinien und Routen-Tokens in der Route Optimization API.
Vorteile eines Routentokens für Zielvorhaben für Routen
Mit einem Routentoken aus der Routes API, der Routes Preferred API oder der Route Optimization API haben Sie mehr Kontrolle über die bereitgestellte Route:
Planen Sie eine Route im Voraus, die das Navigation SDK nach Möglichkeit verwenden soll.
Wählen Sie die beste Route für das Navigation SDK aus. Wenn Sie beim Generieren von Routen in der Routes API Routentokens anfordern, erhalten Sie für jede generierte Route ein Routentoken. Sie können dann das Token für die Route auswählen, die Sie verwenden möchten, wenn Sie sie an das Navigation SDK übergeben.
Schätzen Sie den Preis im Voraus ab, einschließlich Schätzungen für die geschätzte Ankunftszeit und die Entfernung. Die tatsächlichen Kosten und die tatsächliche Zeit können variieren. Diese Schätzung verringert jedoch die Differenz zwischen den erwarteten und den tatsächlichen Routenkosten.
Legen Sie erweiterte Routenziele fest, z. B. Eco-Routing oder die kürzeste Route.
Funktionsweise von Routentokens
Sie können die Routes API, die Routes Preferred API oder die Route Optimization API verwenden, um eine Route mithilfe von Routenzielen zu planen. Sie können ein von einer dieser APIs zurückgegebenes Routen-Token an das Navigation SDK übergeben, um die Route Ihres Fahrzeugs zu steuern.
So funktioniert es:
Die Routes API, die Routes Preferred API oder die Route Optimization API gibt ein verschlüsseltes Routentoken zurück, das die Polylinie und die Zielvorhaben der Route enthält.
Sie übergeben das Routen-Token an das Navigation SDK.
Das Navigations-SDK ruft die Route ab. Wenn die Route aufgrund sich ändernder Bedingungen nicht verfügbar ist, wird die am besten passende Route abgerufen.
Wenn sich während der Fahrt die Verkehrslage oder andere Straßenverhältnisse ändern oder ein Fahrzeug von der geplanten Route abweicht, wird mit den geänderten Routen kontinuierlich versucht, die beste Route anhand der Routenziele im Token zu ermitteln.
So wird die Übereinstimmung zwischen der tatsächlichen und der geplanten Route maximiert.
Warum eine geplante Route möglicherweise nicht genau eingehalten wird
Betrachten Sie Ihre geplante Route und die Zielvorhaben als Richtlinien, die Sie beachten sollten. Sie sind nicht verbindlich. Es kann sein, dass sich die geplante Route von der Route unterscheidet, die die Navigation vorschlägt. Das kann an den Straßenverhältnissen, dem Startpunkt oder anderen Parametern liegen, die sich seit der Erstellung der geplanten Route geändert haben. Dieser Unterschied kann zu Abweichungen zwischen Ihren geplanten und tatsächlichen Zielen für Entfernung und geschätzte Ankunftszeit sowie anderen wichtigen Fahrteigenschaften führen.
Route mit einem Routen-Token planen
Sie können eine Route planen, indem Sie ein Routen-Token erstellen und dann an das Navigations-SDK übergeben. Gehen Sie dazu so vor:
Schritt 1: Mit der Routes API, der Routes Preferred API oder der Route Optimization API ein Routen-Token erstellen
Fordern Sie mit einer der folgenden Methoden ein Routentoken an:
Routes API:
computeRoutes
. Weitere Informationen zum Anfordern eines Routentokens in der Routes API finden Sie unter Route berechnen und Routentoken anfordern.Routes Preferred API:
computeCustomRoutes
. Weitere Informationen zum Anfordern eines Routentokens in der Routes Preferred API finden Sie unter Route planen.Route Optimization API:
optimizeTours
oderbatchOptimizeTours
. Weitere Informationen zum Anfordern eines Routentokens in der Routenoptimierungs-API finden Sie unter Übergangspolylinien und Routentokens.
Richten Sie Ihre Routes API- oder Routes Preferred API-Anfrage so ein, dass die Anforderungen für die Verwendung eines Routentokens erfüllt werden:
- Legen Sie
travel_mode
aufDRIVING
oderTWO_WHEELER
fest. - Legen Sie
routing_preference
aufTRAFFIC_AWARE
oderTRAFFIC_AWARE_OPTIMAL
fest. - Verwenden Sie KEINE
Via
-Wegpunkte.
- Legen Sie
Schritt 2: Routentoken an das Navigation SDK übergeben
Routen-Token speichern: Richten Sie im Navigation SDK einen String zum Speichern des Routen-Tokens ein. Beispiel:
String routeToken = "route token returned by Routes API";
Beispiel für ein zurückgegebenes Routentoken:
{ // Other fields "routeToken": "CqMBCjoKCJQOor5DHcwiEhBon3XpHXFnVvDeWMwd9PpAGgz6wtnFDKIBrAHTARpCApUDSggAAAAACjcrP3gBEAQaTApKChgKDQoCCAERAAAAAACAZkAR3SQGgZUXdUASEggAEAMQBhATEBIYAkIEGgIIBSIYChZ2VEJiWlBPSkk1aU5wUVRzNTV5d0FRKAEiFQBcJuds-Efh-2QZhOMTtUCCxEVL_g", }
Übergeben Sie das Routen-Token mit der Methode
Navigator.setDestinations
an das Navigation SDK und geben Sie dabei dieselben Ziel-Wegpunkte an, die Sie beim Erstellen des Routen-Tokens verwendet haben:setDestinations(List
destinations, CustomRoutesOptions customRoutesOptions, DisplayOptions displayOptions); Beispiel:
CustomRoutesOptions customRoutesOptions = CustomRoutesOptions.builder() .setRouteToken(routeToken) .setTravelMode(TravelMode.DRIVING) .build();
Die Navigator.setDestinations
-Methode gibt den Status der Anfrage zurück. Wenn eine Route vom Standort des Fahrzeugs zum angegebenen Ziel gefunden wird, wird RouteStatus.OK
zurückgegeben.
Weitere Informationen zu dieser Methode finden Sie unter Navigator.setDestinations
.
Beispiel
Im folgenden Codebeispiel wird gezeigt, wie eine geplante Route mit einem Routen-Token angegeben wird.
ArrayList <Waypoint> destinations = Lists.newArrayList();
Waypoint waypoint1 =
Waypoint.builder()
.setLatLng(10, 20)
.setTitle("title")
.setVehicleStopover(true)
.build();
destinations.add(waypoint1);
Waypoint waypoint2 =
Waypoint.builder()
.setPlaceId("ChIJYV-J-ziuEmsRIMyoFaMedU4")
.setTitle("title")
.setVehicleStopover(true)
.build()
destinations.add(waypoint2);
String routeToken = "route token returned by Routes API";
CustomRoutesOptions customRoutesOptions =
CustomRoutesOptions.builder()
.setRouteToken(routeToken)
.setTravelMode(TravelMode.DRIVING)
.build();
// Existing flow to get a Navigator.
NavigationApi.getNavigator(...);
// Existing flow for requesting routes.
ListenableResultFuture<RouteStatus> routeStatusFuture =
navigator.setDestinations(destinations, customRoutesOptions);
// Or with display options.
DisplayOptions displayOptions = new DisplayOptions();
ListenableResultFuture<RouteStatus> routeStatusFuture =
navigator.setDestinations(destinations, customRoutesOptions, displayOptions);
Interaktion von Routentokens und dem Navigation SDK
So interagieren die vom Navigation SDK generierte Route und die geplante Route im Routen-Token:
Überschreibt alle zuvor festgelegten Ziele.
Verwendet den Startort des Fahrzeugs.
Passt sich an die Straßen- und Verkehrslage an. Weitere Informationen dazu, warum eine geplante Route möglicherweise nicht genau eingehalten wird
Die folgenden routingbezogenen Optionen werden als nicht erforderlich ignoriert:
avoidsHighways
avoidsTolls
avoidsFerries
licensePlateRestriction
Mit „Folgen“ markiert:
Optionen für Wegpunkte, z. B. die Einstellung für Straßenseitenstraßen.
Ziele der Route Wenn das Navigations-SDK die zurückgegebene Route anpassen muss, werden die Routenziele verwendet, die Sie beim Anfordern des Routentokens angegeben haben. Aus diesem Grund sollten Sie dieselben Wegpunktoptionen verwenden, die Sie in der Routes API angegeben haben.