Zwischenwegpunkte sind Orte zwischen Start- und Zielort, durch die die Route führen soll. Ein Zwischenwegpunkt kann eine Haltestelle sein oder als Wegpunkt angegeben werden. Ein Beispiel für einen Wegpunkt für einen Zwischenstopp finden Sie unter Stopp auf einer Route festlegen. Ein Beispiel für einen Wegpunkt zum Pass-Through ist unter Punkt für einen Durchgangspunkt festlegen.
Mit dem Array-Attribut intermediates
der Methode computeRoutes (REST) oder der Methode ComputeRoutes (gRPC) können Sie bis zu 25 zwischenliegende Wegpunkte definieren.
Für jeden Zwischen-Wegpunkt in der Anfrage fügt das Routenobjekt (REST) oder das Routenobjekt (gRPC) in der Antwort dem legs
-Array einen Eintrag hinzu, um die Details für diesen Abschnitt der Reise bereitzustellen.
Jeder Abschnitt einer Route wird durch ein RouteLeg-Objekt (REST) oder ein RouteLeg-Objekt (gRPC) dargestellt.
Mit der Antwortfeldmaske können Sie steuern, welche RouteLeg
-Felder zurückgegeben werden sollen.
Beispiel – Zwischenwegpunkt festlegen
Im folgenden Beispiel wird das Arrayattribut intermediates
verwendet, um dem POST-Anfragetext einer Route einen einzelnen Wegpunkt hinzuzufügen.
In diesem Beispiel wird im X-Goog-FieldMask
-Header eine Antwortfeldmaske verwendet, die angibt, dass die folgenden Felder in der Antwort zurückgegeben werden sollen:
routes.duration
routes.distanceMeters
routes.legs
für das gesamteRouteLeg
-Objekt.
curl -X POST -d '{ "origin":{ "location":{ "latLng":{ "latitude": 37.419734, "longitude": -122.0827784 } }, "sideOfRoad": true }, "destination":{ "location":{ "latLng":{ "latitude": 37.417670, "longitude": -122.079595 } } }, "intermediates": [ { "location":{ "latLng":{ "latitude": 37.419734, "longitude": -122.0807784 } } } ], "travelMode": "DRIVE", "routingPreference": "TRAFFIC_AWARE", "departureTime": "2022-10-15T15:01:23.045123456Z", "computeAlternativeRoutes": false, "routeModifiers": { "avoidTolls": false, "avoidHighways": false, "avoidFerries": false }, "languageCode": "en-US", "units": "IMPERIAL" }' -H 'Content-Type: application/json' -H 'X-Goog-Api-Key: YOUR_API_KEY' -H 'X-Goog-FieldMask: routes.duration,routes.distanceMeters,routes.legs' 'https://routes.googleapis.com/directions/v2:computeRoutes'
Die Antwort auf diesen Aufruf enthält das Array legs
. Jeder Schritt des Abschnitts wird durch ein Objekt RouteLegStep (REST) oder RouteLegStep (gRPC) dargestellt.
{ "routes": [ { "legs": [ # First leg { "distanceMeters": 207, "duration": "89s", "staticDuration": "89s", "polyline": { "encodedPolyline": "ipkcFjgchVd@@@cF]@@oCK?" }, "startLocation": { "latLng": { "latitude": 37.4197318, "longitude": -122.0826233 } }, "endLocation": { "latLng": { "latitude": 37.419734, "longitude": -122.08077919999998 } }, "steps": [ { "distanceMeters": 21, "staticDuration": "6s", "polyline": { "encodedPolyline": "ipkcFjgchVd@@" }, "startLocation": { "latLng": { "latitude": 37.4197318, "longitude": -122.0826233 } }, "endLocation": { "latLng": { "latitude": 37.41954, "longitude": -122.08262750000002 } } }, ... }, # Second leg { "distanceMeters": 598, "duration": "159s", "staticDuration": "159s", "polyline": { "encodedPolyline": "ipkcFz{bhVh@??{@xPBP?J}E{E?" }, "startLocation": { "latLng": { "latitude": 37.419734, "longitude": -122.08077919999998 } }, "endLocation": { "latLng": { "latitude": 37.417616599999995, "longitude": -122.07938820000001 } }, "steps": [ { ...