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ę naRouteLegodcinkó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: truew 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 dróg dojazdowych przyciąganie 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 pośrednich punktach pośrednich i odcinkach trasy znajdziesz w artykule Ustawianie pośrednich punktów pośrednich.
Określ vehicleStopover, aby sprawdzić, czy przystanek jest odpowiedni do 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 dostawy, 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 naziemnej, na której można się zatrzymać.
Przykład: określanie parametru vehicleStopover w punkcie pośrednim
Ten przykład pokazuje, jak ustawić wartość vehicleStopover: true w przypadku punktu pośredniego w pełnym żą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.