Traffic-Optionen festlegen

Entwickler im Europäischen Wirtschaftsraum (EWR)

Mit den von Ihnen ausgewählten Traffic-Einstellungen wird die Genauigkeit der Routendetails auf eine von zwei Arten mit der Anfrageleistung in Einklang gebracht:

  • Verkehrsabhängig: Gibt die genauesten Ergebnisse zurück (höhere Latenz).
  • Traffic-unabhängig: Ergebnisse so schnell wie möglich zurückgeben (geringste Latenz).

Wenn Sie eine Anfrage stellen, sollten Sie abwägen, ob es besser ist, möglichst genaue Ergebnisse oder möglichst schnell Ergebnisse zurückzugeben. Die Routes-Bibliothek bietet Optionen, mit denen Sie die Qualität der Antwortdaten im Vergleich zur Latenz der Antwort steuern können.

Verkehrsaufkommen und Verkehrsmodell festlegen

Um das Traffic-Niveau anzugeben, legen Sie routingPreference für ComputeRoutesRequest fest. In der folgenden Liste sind die verfügbaren routingPreference-Optionen aufgeführt:

  • TRAFFIC_UNAWARE (Standard): Gibt Ergebnisse am schnellsten zurück, mit ungefähren Routingdetails.
  • TRAFFIC_AWARE: Gibt genauere Ergebnisse zurück, da Echtzeit-Verkehrsdaten verwendet werden. Die Latenz ist jedoch höher.
  • TRAFFIC_AWARE_OPTIMAL: Gibt die genauesten Ergebnisse zurück, die mit Echtzeit-Verkehrsdaten möglich sind, aber mit der höchsten Latenz.

Das Attribut TRAFFIC_MODEL steht für Annahmen, die bei der Vorhersage der Dauer im Straßenverkehr verwendet werden sollen ( TrafficModel.BEST_GUESS (Standard), TrafficModel.OPTIMISTIC, TrafficModel.PESSIMISTIC).

Verkehrsabhängiges Routing auswählen

So erstellen Sie eine verkehrsabhängige Routenanfrage:

  1. Setzen Sie das Attribut travelMode auf DRIVING.

  2. Legen Sie das Attribut routingPreference auf einen der folgenden Werte fest:

    • TRAFFIC_AWARE
    • TRAFFIC_AWARE_OPTIMAL

    HINWEIS:TRAFFIC_UNAWARE ist die Standardeinstellung.

  3. Legen Sie das Attribut trafficModel auf einen der folgenden Werte fest:

  4. Setzen Sie das Attribut extraComputations auf TRAFFIC_ON_POLYLINE.

  5. Fordern Sie die Felder path, speedPaths und routeLabels an.

Im folgenden Beispiel wird gezeigt, wie eine verkehrsabhängige Route angefordert wird, bei der Verkehrsdaten auf der Polylinie angezeigt werden:

// Define a traffic aware routes request with polylines.
const requestWithTraffic = {
  origin: '200 King St San Francisco, CA 94107',
  destination: 'Pier 41, San Francisco, CA 94133',
  travelMode: 'DRIVING',
  routingPreference: 'TRAFFIC_AWARE_OPTIMAL',
  trafficModel: 'optimistic',
  extraComputations: ['TRAFFIC_ON_POLYLINE'],
  fields: ['speedPaths'],
};
    

Verkehrslage

Die Verkehrslage wird durch die Geschwindigkeit des Verkehrsflusses bestimmt:

  • Normaler Verkehr: Kein Stau, der Verkehr fließt mit normaler Geschwindigkeit.
  • Leichter bis mäßiger Verkehr: Der Verkehr nimmt zu und fließt langsamer.
  • Hohes Verkehrsaufkommen: Erhebliche Staus mit stark reduzierter Geschwindigkeit.

Keine Berücksichtigung von Verkehr

TRAFFIC_UNAWARE ist die Standardeinstellung. Verwenden Sie diese Routing-Einstellung, wenn Sie die schnellsten Antworten benötigen und ungefähre Routing-Details ausreichen.

TRAFFIC_UNAWARE-Routen werden ohne Berücksichtigung der aktuellen Verkehrslage berechnet. Diese Routing-Einstellung führt zur schnellsten Antwort auf Anfragen (geringste Latenz).

Wenn Sie TRAFFIC_UNAWARE auswählen, beruhen die Auswahl der Route und die Reisezeit auf dem Straßennetz sowie der durchschnittlichen zeitunabhängigen Verkehrslage und nicht auf der aktuellen Verkehrslage. Daher können Routen Straßen umfassen, die vorübergehend gesperrt sind. Die Ergebnisse für eine bestimmte Anfrage können sich im Laufe der Zeit aufgrund von Änderungen im Straßennetz, Aktualisierungen der durchschnittlichen Verkehrslage und der Dezentralisierung des Diensts ändern. Außerdem können die Ergebnisse zwischen praktisch gleichwertigen Routen jederzeit und beliebig oft variieren.

Folgende Antworten werden angezeigt:

  • duration: Enthält die voraussichtliche Ankunftszeit für die Route.
  • staticDuration: Die voraussichtliche Ankunftszeit für die Route unter Berücksichtigung von Verlaufsdaten zum Verkehr. Für TRAFFIC_UNAWARE enthält dieser Parameter denselben Wert wie duration.

Verkehrslage

Verwenden Sie diese Routing-Einstellung, wenn Sie genauere Routing-Details als bei TRAFFIC_UNAWARE benötigen, aber kein Problem damit haben, wenn Antworten mit einer moderaten Erhöhung der Latenz zurückgegeben werden.

Wenn Sie die Routing-Einstellung TRAFFIC_AWARE festlegen, berechnet der Dienst die Route unter Berücksichtigung der aktuellen Verkehrsbedingungen. Dadurch werden die Route und die Routendetails genauer an die realen Bedingungen angepasst. Da diese Steigerung der Datenqualität auf Kosten der Antwortlatenz geht, werden Leistungsoptimierungen angewendet, um die Latenz zu verringern.

Folgende Antworten werden angezeigt:

  • duration: Die voraussichtliche Ankunftszeit unter Berücksichtigung von Echtzeit-Verkehrsinformationen.
  • staticDuration: Die voraussichtliche Ankunftszeit für die Route unter Berücksichtigung von Verlaufsdaten zum Verkehr.

Optimierung anhand der aktuellen Verkehrslage

Verwenden Sie diese Weiterleitungseinstellung, wenn Sie Ergebnisse von höchster Qualität wünschen, unabhängig davon, wie lange die Antworten dauern. Diese Routingeinstellung hat die längste Verzögerung bei der Rückgabe von Antworten (höchste Latenz).

Wenn Sie die Routing-Einstellung TRAFFIC_AWARE_OPTIMAL festlegen, berechnet der Dienst die Route unter Berücksichtigung der aktuellen Verkehrsbedingungen, wendet aber keine Leistungsoptimierungen an. In diesem Modus führt der Server eine umfassendere Suche im Straßennetz durch, um die optimale Route zu finden.

Die TRAFFIC_AWARE_OPTIMAL-Routeneinstellung entspricht dem Modus, der von maps.google.com und der mobilen Google Maps App verwendet wird.

Wenn Sie diese Option mit computeRouteMatrix verwenden, darf die Anzahl der Elemente in einer Anfrage (Anzahl der Startorte × Anzahl der Zielorte) 25 nicht überschreiten.

Folgende Antworten werden angezeigt:

  • duration: Die voraussichtliche Ankunftszeit für die Route unter Berücksichtigung von Echtzeit-Verkehrsinformationen.
  • staticDuration: Die voraussichtliche Ankunftszeit für die Route unter Berücksichtigung von Verlaufsdaten zum Verkehr.

Abfahrtszeit festlegen (optional)

Verwenden Sie diese Eigenschaft nur für verkehrsabhängige Anfragen, bei denen die Abfahrtszeit in der Zukunft liegen muss. Wenn Sie die Property departureTime nicht festlegen, wird standardmäßig die Zeit verwendet, zu der Sie die Anfrage stellen.

Verwenden Sie das Attribut departureTime zusammen mit den Optionen TRAFFIC_AWARE und TRAFFIC_AWARE_OPTIMAL, wenn Sie anpassen möchten, wie der Dienst den Traffic bei der Auswahl einer Route vorhersagt.

  • TRAFFIC_UNAWARE: Nicht empfohlen, da die Auswahl der Route und die Reisezeit auf dem Straßennetz und der durchschnittlichen zeitunabhängigen Verkehrslage beruhen.
  • TRAFFIC_AWARE und TRAFFIC_AWARE_OPTIMAL: Empfohlen für Abfahrten in naher Zukunft, da bei diesen Einstellungen die aktuelle Verkehrslage berücksichtigt wird. Die aktuelle Verkehrslage wird umso stärker gewichtet, je näher die departureTime rückt. Je weiter in der Zukunft Sie die Abfahrtszeit festlegen, desto mehr werden bei der Auswahl von Routen die bisherigen Verkehrsbedingungen berücksichtigt.

Routentoken abrufen

Routentokens sind eine websichere, Base64-codierte Darstellung einer Route. Mit einem Routentoken können Sie eine Route für das Navigation SDK freigeben. Das SDK verwendet dieses Token, um die Route zu rekonstruieren und die ursprüngliche Navigationsabsicht beizubehalten, auch wenn die Route neu berechnet wird.

So erhalten Sie ein Routen-Token:

  • Setzen Sie „travelMode“ auf DRIVING.
  • Legen Sie routingPreference auf TRAFFIC_AWARE oder TRAFFIC_AWARE_OPTIMAL fest.
  • Fordern Sie das Feld routeToken an.

Im folgenden Beispiel wird gezeigt, wie ein Routen-Token angefordert wird:

// Define a traffic aware routes request with a route token.
const requestWithRouteToken = {
  origin: '200 King St San Francisco, CA 94107',
  destination: 'Pier 41, San Francisco, CA 94133',
  travelMode: 'DRIVING',
  routingPreference: 'TRAFFIC_AWARE',
  fields: ['path', 'speedPaths', 'routeLabels', 'routeToken'],
};