Przystanek na trasie, np. w celu odebrania lub wysadzenia pasażera, możesz ustawić na 2 sposoby:
- Dodaj punkt pośredni: 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 segmentyRouteLegpołączone 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: truedla punktu pośredniego.
Dodawanie punktu pośredniego
Aby ustawić przystanek na trasie, dodaj punkt pośredni do tablicy intermediates w żądaniu.
Dodanie punktu pośredniego powoduje:
- Podział trasy na segmenty
RouteLeg: każdy segment łączy jeden przystanek z następnym. - Przyciąganie współrzędnych do drogi: silnik routingu 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órej można się poruszać.
W przypadku wielu dróg lokalnych przyciąganie do najbliższej drogi zapewnia praktyczną lokalizację przystanku. Przyciąganie nie określa jednak, czy dany odcinek drogi jest odpowiedni do zatrzymania się, 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 POST computeRoutes:
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 vehicleStopover pod kątem możliwości odbioru i wysadzenia
Standardowy punkt pośredni jest przyciągany do najbliższej drogi, ale ta droga nie zawsze jest odpowiednia do zatrzymania się pojazdu. Jeśli chcesz, aby silnik routingu przeprowadził dodatkową analizę w celu oceny, czy droga jest odpowiednia do odbioru lub wysadzenia, ustaw dla punktu pośredniego wartość vehicleStopover: true.
Gdy ustawisz vehicleStopover: true, silnik routingu oceni potencjalne odcinki dróg i spróbuje unikać dróg nieodpowiednich do zatrzymania się, takich jak autostrady, tunele i wiadukty.
Rozważmy na przykład lokalizację, w której droga lokalna przebiega bezpośrednio nad a autostradą w tunelu: * Standardowy punkt pośredni: przyciąga do autostrady lub tunelu znajdującego się pod spodem, jeśli jest on geometrycznie bliżej Twoich współrzędnych. * Przystanek dla pojazdu: przeprowadza dodatkową analizę, aby ominąć autostradę i tunel, przyciągając przystanek do drogi lokalnej, na której można się zatrzymać.
Przykład: określanie vehicleStopover w punkcie pośrednim
Ten przykład pokazuje, jak ustawić vehicleStopover: true w punkcie pośrednim 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.