Pośrednie punkty pośrednie to lokalizacje pomiędzy miejscem wylotu a celem podróży, przez które chcesz przechodzić trasa. Pośredni punkt pośredni może być przystankiem lub wskazać je jako lokalizację, którą chcesz przejechać. Przykładowy punkt pośredni na trasie dojazdu znajdziesz w sekcji Ustawianie przystanku na trasie. Przykładowy punkt pośredni na drodze do przejścia: Ustaw punkt trasy przelotowej.
Użyj właściwości tablicy intermediates
metody computeRoutes (REST) lub metody ComputeRoutes (gRPC), aby zdefiniować maksymalnie 25 pośrednich punktów pośrednich.
Dla każdego pośredniego punktu pośredniego w żądaniu obiekt trasy (REST) lub obiekt trasy (gRPC) w odpowiedzi dodaje wpis do tablicy legs
ze szczegółami danego etapu ścieżki.
Każdy etap trasy jest reprezentowany przez obiekt RouteLeg (REST) lub RouteLeg (gRPC).
Określ, które pola RouteLeg
mają zostać zwrócone, przy użyciu maski pola odpowiedzi.
Przykład – ustawianie pośredniego punktu pośredniego
W poniższym przykładzie użyto właściwości tablicy intermediates
do dodania pojedynczego pośredniego punktu pośredniego do treści żądania POST na trasie.
W tym przykładzie użyto w nagłówku X-Goog-FieldMask
maski pola odpowiedzi, która określa, że odpowiedź ma zwrócić te pola:
routes.duration
routes.distanceMeters
routes.legs
odpowiadająca całemu obiektowiRouteLeg
.
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'
Odpowiedź z tego wywołania zawiera tablicę legs
. Każdy krok etapu jest reprezentowany przez obiekt RouteLegStep (REST) lub RouteLegStep (gRPC).
{ "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": [ { ...