Route planen

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.

  • Fahrzeit oder Kraftstoffverbrauch minimieren: Ein Logistikunternehmen möchte die Effizienz seiner Fahrer verbessern und die Kraftstoffkosten senken.

  • Die Zeit bis zum Ziel minimieren: Ein Einsatzleiter möchte möglicherweise die Zeit minimieren, die es dauert, bis die Einsatzkräfte an einem Einsatzort sind.

  • 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.

  • Sie können erweiterte Routenziele angeben, z. B. eine umweltfreundliche Route 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:

  1. 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.

  2. Sie übergeben das Routen-Token an das Navigation SDK.

  3. 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.

  4. 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

  1. Anfordern eines Routentokens mit einer der folgenden Methoden:

    • 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 oder batchOptimizeTours. Weitere Informationen zum Anfordern eines Routentokens in der Routenoptimierungs-API finden Sie unter Übergangspolylinien und Routentokens.

  2. 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 auf DRIVING oder TWO_WHEELER fest.
    • Legen Sie routing_preference auf TRAFFIC_AWARE oder TRAFFIC_AWARE_OPTIMAL fest.
    • Verwenden Sie KEINE Via-Wegpunkte.

Schritt 2: Routen-Token an das Navigation SDK übergeben

  1. Routen-Token speichern: Richten Sie im Navigation SDK einen String zum Speichern des Routen-Tokens ein. Beispiel:

    let routeToken = "route token returned by Routes API"

    Beispiel für ein zurückgegebenes Routentoken:

    {
    // Other fields
    "routeToken": "CqMBCjoKCJQOor5DHcwiEhBon3XpHXFnVvDeWMwd9PpAGgz6wtnFDKIBrAHTARpCApUDSggAAAAACjcrP3gBEAQaTApKChgKDQoCCAERAAAAAACAZkAR3SQGgZUXdUASEggAEAMQBhATEBIYAkIEGgIIBSIYChZ2VEJiWlBPSkk1aU5wUVRzNTV5d0FRKAEiFQBcJuds-Efh-2QZhOMTtUCCxEVL_g",
    }
    
  2. Übergeben Sie das Routen-Token mit der Methode mapView.navigator setDestinations an das Navigation SDK und geben Sie dabei dieselben Ziel-Wegpunkte an, die Sie beim Erstellen des Routen-Tokens verwendet haben:

    mapView.navigator?.setDestinations([waypoint1, waypoint2], routeToken: routeToken, callback: {...})

Die Navigator.setDestinations-Methode gibt den Status der Anfrage zurück. Wenn eine Route vom Standort des Nutzers zum angegebenen Ziel gefunden wird, wird RouteStatus.OK zurückgegeben.

Weitere Informationen zu dieser Methode finden Sie unter GMSNavigator.setDestinations.

Beispiel

Die folgenden Codebeispiele zeigen, wie Sie eine geplante Route abrufen.

Swift

let location = CLLocationCoordinate2D(latitude: 47.67, longitude: -122.20)
let waypoint1 = GMSNavigationWaypoint(location: location, title: "waypoint from location")!
let waypoint2 = GMSNavigationWaypoint(placeID: "samplePlaceID", title: "waypoint from Place ID")!

let routeToken = "route token returned by Routes API"
mapView.navigator?.setDestinations([waypoint1, waypoint2], routeToken: routeToken, callback: {...})

Objective-C

CLLocationCoordinate2D location = CLLocationCoordinate2DMake(47.67, -122.20);
GMSNavigationWaypoint *waypoint1 = [[GMSNavigationWaypoint alloc] initWithLocation:coordinate title:@"waypoint from location"];
GMSNavigationWaypoint *waypoint2 = [[GMSNavigationWaypoint alloc] initWithPlaceID:@"samplePlaceID"
                                                                            title:@"waypoint from Place ID"];
NSString *routeToken = @"route token returned by Routes API";

[mapView.navigator setDestinations:@[waypoint1, waypoint2]
                         routeToken:routeToken
                           callback:^(GMSRouteStatus routeStatus){...}];

Interaktion von Routentokens und dem Navigation SDK

So interagieren die vom Navigation SDK generierte Route und die geplante Route im Routen-Token:

  • Hiermit werden alle zuvor festgelegten Ziele überschrieben.

  • Verwendet den Startort des Fahrzeugs.

  • Passt sich an Straßen- und Verkehrsbedingungen 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:

    • Wegpunktbezogene Optionen, z. B. die Einstellung für die Straßenseite.

    • 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. Verwenden Sie daher dieselben Optionen für Wegpunkte, die Sie in der Routes API angegeben haben.