Die Wegpunktoptimierung ist eine Funktion der
Option „Routes Preferred“,
ComputeRoutes
Sie optimiert die Reihenfolge der Wegpunkte auf einer Route
damit sie die effizienteste Route nutzen. Das ComputeRoutes
Die Implementierung der Wegpunktoptimierung unterstützt folgende Mobilitätsformen:
- Mit dem Auto
- Motorisiertes Zweirad
- Radfahren
- Spazierengehen
Vorteile der Wegpunktoptimierung
Bei der Entwicklung einer App, die Nutzende durch eine Reihe von Wegpunkten auf dem Weg ist es wichtig, dass der Reisende die Wegpunkte im optimale Reihenfolge zu finden. Dadurch wird sichergestellt, dass der Reisende an jedem Wegpunkt im kürzester Zeit in Anspruch genommen werden.
Funktionsweise
Standardmäßig berechnet ComputeRoutes
eine Route anhand ihrer Wegpunkte in der Reihenfolge
in dem sie ursprünglich angegeben wurden. Sie können ComputeRoutes
zur Optimierung erhalten
indem Sie die Wegpunkte in eine effizientere Reihenfolge bringen.
Sie erhalten eine Route mit optimierten Wegpunkten, wenn Sie die
optimizeWaypointOrder
im Anfragetext für true
.
Hinweis: Die Berechnung der Wegpunktoptimierung basiert hauptsächlich auf der Reisezeit, Dabei werden aber noch weitere Faktoren berücksichtigt, zum Beispiel die Entfernung. und die Anzahl der Runden.
Neu angeordnete Wegpunkte abrufen
Um eine Route mit neu angeordneten Wegpunkten zu erhalten, legen Sie das boolesche Feld
optimizeWaypointOrder
an true
im Text Ihrer Anfrage an
ComputeRoutes
Fügen Sie außerdem das Feld optimizedIntermediateWaypointIndex
hinzu.
in die Feldmaske ein. Der Antworttext enthält die optimierte Wegpunktreihenfolge in
die optimizedIntermediateWaypointIndex
-Felder.
Hinweis: Das Feld optimizedIntermediateWaypointIndex
gibt nullbasierte
Werte.
Beispielanfrage
Im folgenden Beispiel wird eine Route in der Nähe des Universitätscampus. Die Wegpunkte der Route wurden der Reihe nach in den Die Anfrage enthält einen Start- und einen Zielort sowie zwei Zwischenziele Wegpunkte.
POST /v1alpha:computeRoutes
Host: routespreferred.googleapis.com
Content-Type: application/json
X-Server-Timeout: 10
X-Goog-Api-Key: YOUR_API_KEY
X-Goog-FieldMask: routes.optimizedIntermediateWaypointIndex,routes.duration,routes.distanceMeters,routes.polyline.encodedPolyline
{
"origin":{
"location":{
"latLng":{
"latitude": 37.418956,
"longitude": -122.160815
}
}
},
"intermediates": [
{
"location":{
"latLng":{
"latitude": 37.4176423,
"longitude":-122.1102246
}
}
},
{
"location":{
"latLng":{
"latitude": 37.407689,
"longitude": -122.1360597
}
}
}
],
"destination":{
"location":{
"latLng":{
"latitude": 37.4032137,
"longitude": -122.0349119
}
}
},
"travelMode": "DRIVE",
"optimizeWaypointOrder": true,
"routingPreference": "TRAFFIC_AWARE"}
Beispielantwort
Die neu angeordneten Wegpunktindexe finden Sie im
optimizedIntermediateWaypointIndex
-Felder innerhalb des „routes“-Objekts in der
Antworttext. Die codierte
Polylinie
ist dasselbe wie in
Directions API und
ComputeRoutes
routes {
distance_meters: 17647
duration {
seconds: 1866
}
polyline {
encoded_polyline: "wkkcFvorhVU{@Ec@C}CG}@Mm@[}@i@y@[[g@_@Tk@BSjCgGfF|D\\Pv@Lj@@XaCTeC\\aCTs@`ByD`@k@h@e@x@Yh@GtADhBF|@G`AWpAs@lAsAdA{A`BmDr@cBmUqQoS}OyGmFiBsAgEwD}CaCU_@Og@@e@Hy@nGkO~@sBr@cBlDqIlByEp@}AjIfGnBbBHLLd@^p@~ErDfNrKrA~@DIhEeBTQ~AqDlE{KjBgE|FnEh@aAi@`A}FoE~AmD`A}BcAm@mHwFwD}CkLwIsDqCgF_EG[GKnCsDrA_BrC_CnCoBpEkD`EyClCsBcBeBIAkGkH]k@eJmKQKsAuA_@g@wCoDGQmEmFmIqROKaDuHvBkBxAgANCRH^f@v@dBHDD?`AUiBqEhBpEaATMCQYm@wAY]SIOByAfAwBjB_ByDaAwBiCeIA[c@aBqEuNOm@IQbA{c@p@aZFmCTuBLg@Tc@BUAKxOeV~Vy_@nBoDv@_BvAcDzA_EdG{RdC{HtIsY|B{Hx@mDbAuFdBsMbKsv@TaBf@}AdF{Sn@_DJq@Lo@aE`@]GUQmAmAQk@@g@RK`Ce@d@UDEPc@f@cCrAyGJs@X{AbIem@bA{JD_AIaAMg@o@{A_Ad@y@NaCLCsCK_FGI"
}
optimizedIntermediateWaypointIndex: 1
optimizedIntermediateWaypointIndex: 0
}
Beachten Sie in diesem Beispiel, dass durch die Optimierung der Wegpunkte die ursprünglichen Reihenfolge.
Best Practices
Die Verarbeitung einer Anfrage mit optimierten Wegpunkten dauert länger als bei einer einfachen Weiterleitung.
Daher empfehlen wir, ein höheres Zeitlimit für den Methodenaufruf festzulegen.
indem Sie einen Wert für den X-Server-Timeout
-Anfrageheader auf mindestens zehn festlegen
Sekunden. Wenn weiterhin Zeitüberschreitungsfehler auftreten, können Sie eine weitere Sekunde hinzufügen.
und versuchen Sie es dann noch einmal.
Nutzungsbeschränkungen
Wenn Sie die Wegpunktoptimierung verwenden möchten, müssen Sie die folgenden Nutzungsbeschränkungen beachten und Bedingungen:
Sie können die Nutzungsbegrenzung für Wegpunkte auf Ihrem Route:
- Bis zu 98 Wegpunkte dürfen nur aus Breiten- und Längengraden bestehen.
- Bis zu 25 Wegpunkte, wenn Sie Wegpunkte mithilfe von Orts-IDs angeben.
Alle Wegpunkte müssen vom Typ stopover sein. Keiner deiner Wegpunkte kann vom Typ via sein.
Sie müssen dem Feld
routes.optimizedIntermediateWaypointIndex
hinzufügen Maske.Falls Ihre Anfrage 25 oder mehr Wegpunkte umfasst, muss auch die folgenden Bedingungen erfüllen:
Die kumulierte Luftlinienentfernung zwischen allen Wegpunkten muss weniger als 1.000 km Diese Entfernung umfasst sowohl den Startort als auch den Ziel.
Die Mobilitätsform muss DRIVE sein.