Die von Ihnen ausgewählten Traffic-Einstellungen sorgen für ein Gleichgewicht zwischen der Genauigkeit der Routendetails und der Anfrageleistung. Wenn Sie eine Anfrage stellen, möchten Sie abwägen, ob es besser ist, möglichst genaue oder möglichst schnelle Ergebnisse zurückzugeben. Die Routes API bietet Optionen, mit denen Sie die Qualität der Antwortdaten im Vergleich zur Latenz der Antwort steuern können.
Ebene der Verkehrsdaten festlegen
Die Routes API bietet RoutingPreference (REST) und RoutingPreference (gRPC), mit denen Sie Routingeinstellungen für die Berechnung von Routen angeben können. Diese Präferenzen unterscheiden sich insofern, als dass dabei die Verkehrslage bei der Routenberechnung berücksichtigt wird. Jede Routingeinstellung erzeugt Ergebnisse, die sich in Bezug auf die Routenqualität, die geschätzte voraussichtliche Ankunftszeit und die Antwortlatenz bis zu einem gewissen Grad unterscheiden.
Die Verkehrslage beschreibt die Geschwindigkeit des Verkehrsflusses. Beispiel:
- Wenn es keine Staus gibt, wird die Verkehrslage als normal betrachtet und der Verkehr fließt mit normaler ungehinderter Geschwindigkeit.
- Kurz vor der Stoßzeit nimmt die Verkehrsdichte zu, was dazu führt, dass sich der Verkehr verlangsamt und die Verkehrslage gering bis mäßig ist.
- Im Bumper-zu-Bumper-Verkehr bricht die Geschwindigkeit zum Stillstand, was zu starken Verkehrsverhältnissen führt.
Traffic nicht erkannt
Wenn Sie die Routingeinstellung TRAFFIC_UNAWARE
festlegen, werden Routen ohne Berücksichtigung der aktuellen Verkehrslage berechnet. Diese Routingeinstellung bietet die niedrigste Antwortlatenz. Antworten werden am schnellsten zurückgegeben.
TRAFFIC_UNAWARE
ist die Standardeinstellung.
In der Antwort:
Die voraussichtliche Ankunftszeit ist im Antwortattribut
duration
enthalten.Die Antwortattribute
duration
undstaticDuration
enthalten denselben Wert.
Verwenden Sie diese Routingeinstellung, wenn Antworten am schnellsten zurückgegeben werden sollen und ungefähre Routingdetails ausreichend sind.
Traffic-Erkennung
Wenn Sie die Routingeinstellung TRAFFIC_AWARE
festlegen, werden Routen unter Berücksichtigung der aktuellen Verkehrslage berechnet. Dadurch spiegeln die Routen- und Routendetails reale Bedingungen genauer wider. Da diese Erhöhung der Datenqualität auf Kosten der Antwortlatenz führt, werden Leistungsoptimierungen angewendet, um die Latenz erheblich zu verringern.
In der Antwort:
Die ETA unter Berücksichtigung des Echtzeit-Traffics ist im Antwortattribut
duration
enthalten.Das Antwortattribut
staticDuration
enthält die Reisedauer auf der Route ohne Berücksichtigung der Verkehrslage.
Verwenden Sie diese Routingeinstellung, wenn Sie genauere Routingdetails als TRAFFIC_UNAWARE
benötigen und es Ihnen nichts ausmacht, wenn Antworten mit einer moderaten Erhöhung der Latenz zurückgegeben werden.
Traffic-Erkennung optimal
Wenn Sie die Routingeinstellung TRAFFIC_AWARE_OPTIMAL
festlegen, werden die Routen unter Berücksichtigung der aktuellen Verkehrslage berechnet. Es werden jedoch keine Leistungsoptimierungen angewendet. In diesem Modus führt der Server eine umfassendere Suche im Straßennetz durch, um die optimale Route zu finden.
Die Routingeinstellung TRAFFIC_AWARE_OPTIMAL
entspricht dem Modus, der von maps.google.com und der mobilen Google Maps App verwendet wird.
Wenn diese Option mit Compute Route Matrix verwendet wird, darf die Anzahl der Elemente in einer Anfrage (Anzahl der Startorte × Anzahl der Ziele) 100 nicht überschreiten. Weitere Informationen zu Limits in Compute Route Matrix finden Sie unter Routenmatrix berechnen.
In der Antwort:
Die ETA unter Berücksichtigung des Echtzeit-Traffics ist im Antwortattribut
duration
enthalten.Das Antwortattribut
staticDuration
enthält die Reisedauer auf der Route ohne Berücksichtigung der Verkehrslage.
Diese Routingeinstellung bietet die höchste Antwortlatenz (d. h. Antworten mit der längsten Verzögerung). Verwenden Sie diese Routingeinstellung, wenn Sie Ergebnisse von höchster Qualität erhalten möchten, unabhängig davon, wie lange die Antworten dauern.
Auswirkungen der Festlegung der Abfahrtszeit
Mit dem Attribut departureTime
können Sie optional die Abfahrtszeit einer Fahrt festlegen. Wenn Sie das Attribut departureTime
nicht festlegen, wird standardmäßig der Zeitpunkt verwendet, zu dem Sie die Anfrage stellen.
Für
TRAFFIC_UNAWARE
kanndepartureTime
nicht festgelegt werden, da die Wahl der Route und der Reisezeit auf dem Straßennetz und der durchschnittlichen zeitunabhängigen Verkehrslage basiert.Für
TRAFFIC_AWARE
undTRAFFIC_AWARE_OPTIMAL
, die die Bedingungen für Live-Traffic berücksichtigen, wird der Live-Traffic umso wichtiger, je näher derdepartureTime
ist. Je weiter Sie eine in der Zukunft liegende Abfahrtszeit angeben, desto mehr wird die bisherige Verkehrslage berücksichtigt.
Beispiel für die Einstellung der Routingeinstellung
Der folgende JSON-Code zeigt, wie die Routingeinstellung im Entitätstext einer Anfragenachricht festgelegt wird.
{ "origin":{ "location":{ "latLng":{ "latitude":37.419734, "longitude":-122.0827784 } } }, "destination":{ "location":{ "latLng":{ "latitude":37.417670, "longitude":-122.079595 } } }, "travelMode":"DRIVE", "routingPreference":"TRAFFIC_AWARE_OPTIMAL" }
Qualität von Polylinien konfigurieren
Mit der Routes API können Sie Informationen zur Verkehrslage mithilfe einer verkehrsabhängigen Polylinie anfordern. Weitere Informationen finden Sie unter Polylinien anfordern.
Die Qualität einer Polylinie kann wie folgt beschrieben werden:
Die Anzahl der Punkte, aus denen die Polylinie besteht
Je mehr Punkte vorhanden sind, desto gleichmäßiger ist die Polylinie (insbesondere bei Kurven).
Die Gleitkommagenauigkeit der Punkte
Punkte werden als Breiten- und Längengradwerte angegeben, die im Gleitkommaformat mit einfacher Genauigkeit dargestellt werden. Dies funktioniert gut bei kleinen Werten, die genau dargestellt werden können. Die Genauigkeit nimmt jedoch bei steigenden Werten aufgrund von Rundungsfehlern ab.
Die Methode computeRoutes (REST) und die Methode ComputeRoutes (gRPC) unterstützen die Anfrageoption polylineQuality
zur Steuerung der Qualität von Polylinien.
Beispiel für das Festlegen der Qualität von Polylinien
polylineQuality
gibt die Qualität der Polylinie als HIGH_QUALITY
oder OVERVIEW
(Standard) an. Mit OVERVIEW
besteht die Polylinie aus einer kleinen Anzahl von Punkten und hat eine geringere Anfragelatenz als HIGH_QUALITY
.
Hier ein Beispiel für den Anfragetext:
{ "origin":{ "location":{ "latLng":{ "latitude": 37.419734, "longitude": -122.0827784 } } }, "destination":{ "location":{ "latLng":{ "latitude": 37.417670, "longitude": -122.079595 } } }, "travelMode": "DRIVE", "routingPreference": "TRAFFIC_AWARE", "polylineQuality": "HIGH_QUALITY", "polylineEncoding": "ENCODED_POLYLINE", "departureTime": "2023-10-15T15:01:23.045123456Z", ... }