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ę naRouteLegsegmentó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 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.