Ustaw przystanek na trasie

Deweloperzy z Europejskiego Obszaru Gospodarczego (EOG)

Przystanek na trasie, np. w celu odbioru lub dostawy, możesz ustawić na 2 sposoby:

  • Dodaj pośredni punkt na trasie: jest to opcja domyślna. Dodaj punkt pośredni między miejscem początkowym a docelowym w tablicy intermediates. Silnik routingu przyciąga punkt pośredni do najbliższej drogi, po której można się poruszać, i dzieli trasę na RouteLeg segmentów połączonych tym przystankiem.
  • Określ vehicleStopover: jeśli chcesz, aby silnik routingu przeprowadził dodatkową analizę w celu uniknięcia odcinków dróg nieodpowiednich do zatrzymania się, takich jak autostrady, tunele lub wiadukty, ustaw vehicleStopover: true w punkcie pośrednim.

Dodawanie punktu pośredniego

Aby ustawić przystanek na trasie, dodaj punkt pośredni do tablicy intermediates w żądaniu.

Dodanie punktu pośredniego ma następujące skutki:

  • Trasa dzieli się na RouteLegsegmenty: każdy segment łączy jeden przystanek z następnym.
  • Współrzędne są przyciągane do drogi: silnik wyznaczania trasy przyciąga współrzędne szerokości i długości geograficznej, które mogą znajdować się na dachu lub na podwórku, do najbliższego odcinka drogi, po którym można się poruszać.

W przypadku wielu ulic dopasowanie do najbliższej drogi zapewnia praktyczną lokalizację przystanku. Przyciąganie nie określa jednak, czy dany odcinek drogi nadaje się do zatrzymania, np. gdy najbliższa droga to autostrada lub tunel.

Przykład: dodawanie punktu pośredniego

Ten przykład pokazuje, jak ustawić przystanek na trasie, dodając punkt pośredni w żądaniu computeRoutes POST:

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'

Więcej informacji o punktach pośrednich i odcinkach trasy znajdziesz w artykule Ustawianie punktów pośrednich.

Określanie przystanku pojazdu pod kątem odbioru i wysiadki

Standardowy pośredni punkt trasy jest przyciągany do najbliższej drogi, ale nie zawsze jest ona odpowiednia do zatrzymania pojazdu. Jeśli chcesz, aby silnik routingu przeprowadził dodatkową analizę, aby ocenić przydatność drogi do odbioru lub wysadzenia pasażera, ustaw vehicleStopover: true w punkcie pośrednim.

Gdy ustawisz vehicleStopover: true, silnik wyznaczania trasy oceni potencjalne odcinki dróg i spróbuje unikać dróg, które nie nadają się do zatrzymania, takich jak autostrady, tunele i wiadukty.

Rozważmy na przykład lokalizację, w której droga naziemna przebiega bezpośrednio nad autostradą w tunelu: * Standardowy pośredni punkt trasy: przyciąga do autostrady lub tunelu znajdującego się pod spodem, jeśli jest geometrycznie bliżej Twoich współrzędnych. * Przystanek pojazdu: przeprowadza dodatkową analizę, aby ominąć autostradę i tunel, i przyciąga przystanek do drogi lokalnej, na której można się zatrzymać.

Przykład: określanie parametru vehicleStopover w punkcie pośrednim

Ten przykład pokazuje, jak ustawić parametr vehicleStopover: true w przypadku punktu pośredniego w kompletnym żądaniu POST:

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
        }
      },
      "vehicleStopover": true
    }
  ],
  "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'

Więcej informacji o typach i opcjach punktów pośrednich znajdziesz w artykule Typy i opcje punktów pośrednich.