Ustaw pośrednie punkty na drodze

Deweloperzy z Europejskiego Obszaru Gospodarczego (EOG)

Punkty pośrednie to lokalizacje między miejscem początkowym a docelowym, przez które ma przebiegać trasa.

W jednym żądaniu możesz zdefiniować maksymalnie 25 punktów pośrednich, korzystając z właściwości tablicy intermediates metody REST computeRoutes lub metody gRPC ComputeRoutes.

Przystanki a punkty pośrednie

Punkt pośredni możesz skonfigurować jako przystanek lub miejsce, przez które chcesz przejechać:

  • Przystanek: domyślnie pojazd zatrzymuje się w danym miejscu. Każdy punkt pośredni dzieli trasę, dodając wpis RouteLeg do tablicy legs w odpowiedzi. Więcej informacji znajdziesz w artykule Ustawianie przystanku na trasie.
  • Punkt pośredni z ustawioną wartością "via" na true: pojazd przejeżdża przez lokalizację bez zatrzymywania się. Punkty pośrednie nie dodają wpisów do tablicy legs. Więcej informacji znajdziesz w artykule Ustawianie punktu, przez który ma przebiegać trasa.

Odcinki trasy i punkty pośrednie

W przypadku każdego pośredniego przystanku w żądaniu odpowiedź zawiera osobny obiekt RouteLeg w tablicy routes.legs.

Na przykład trasa z miejscem początkowym, jednym przystankiem pośrednim i miejscem docelowym zawiera 2 odcinki: * Odcinek 1: od miejsca początkowego do przystanku pośredniego. * Odcinek 2: od przystanku pośredniego do miejsca docelowego.

Przykład: żądanie z punktem pośrednim

W tym przykładzie użyto tablicy intermediates, aby dodać do trasy pojedynczy przystanek pośredni.

curl -X POST -d '{
  "origin":{
    "location":{
      "latLng":{
        "latitude": 37.419734,
        "longitude": -122.0827784
      }
    }
  },
  "destination":{
    "location":{
      "latLng":{
        "latitude": 37.417670,
        "longitude": -122.079595
      }
    }
  },
  "intermediates": [
    {
      "location":{
        "latLng":{
          "latitude": 37.419734,
          "longitude": -122.0807784
        }
      }
    }
  ],
  "travelMode": "DRIVE"
}' \
-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 wieloma etapami trasy

Ponieważ punkt pośredni w żądaniu jest przystankiem, który nie ustawia wartości "via": true, odpowiedź dzieli trasę na 2 etapy w tablicy legs:

{
  "routes": [
    {
      "distanceMeters": 805,
      "duration": "248s",
      "legs": [
        {
          "distanceMeters": 207,
          "duration": "89s",
          "startLocation": {
            "latLng": {
              "latitude": 37.4197318,
              "longitude": -122.0826233
            }
          },
          "endLocation": {
            "latLng": {
              "latitude": 37.419734,
              "longitude": -122.0807792
            }
          }
        },
        {
          "distanceMeters": 598,
          "duration": "159s",
          "startLocation": {
            "latLng": {
              "latitude": 37.419734,
              "longitude": -122.0807792
            }
          },
          "endLocation": {
            "latLng": {
              "latitude": 37.4176166,
              "longitude": -122.0793882
            }
          }
        }
      ]
    }
  ]
}