Omówienie wyszukiwania miejsc przy trasie
Funkcje wyszukiwania miejsc przy trasie są dostępne w tych interfejsach Places API (nowych):
- Tylko wyszukiwanie tekstowe (nowe): wyszukiwanie miejsc na zdefiniowanej trasie podróży.
- Wyszukiwanie tekstowe (nowe) i wyszukiwanie w pobliżu (nowe): obliczanie podsumowania routingu z określonej lokalizacji początkowej do każdego miejsca w wynikach wyszukiwania.
- Tylko wyszukiwanie tekstowe (nowe): obliczanie podsumowania routingu dla każdego miejsca na zdefiniowanej trasie podróży.
Wyszukiwanie miejsc przy trasie
Do obliczania trasy podróży między 2 lokalizacjami używasz interfejsu Routes API. Interfejs Routes API może obliczyć trasę dla samochodu, roweru, pojazdu dwukołowego, transportu publicznego lub pieszą.
Wyszukiwanie tekstowe (nowe) umożliwia użycie tej obliczonej trasy do przeprowadzenia wyszukiwania miejsc przy trasie. W tej opcji przekazujesz wstępnie obliczoną trasę z interfejsu Routes API do żądania wyszukiwania tekstowego (nowego). Odpowiedź zawiera wtedy miejsca, które pasują do kryteriów wyszukiwania i znajdują się w pobliżu określonej trasy.
Wyszukiwanie miejsc przy trasie jest podobne do używania opcji żądania locationRestriction lub locationBias w celu wpływania na wyniki wyszukiwania. Opcja locationRestriction zwraca wyniki wyszukiwania, które mieszczą się w granicach widocznego obszaru, a opcja locationBias może zwracać wyniki wyszukiwania poza widocznym obszarem. Jednak opcje locationBias i locationRestriction umożliwiają określenie regionu, który ma wpływać na wyniki wyszukiwania, a funkcja wyszukiwania miejsc przy trasie w wyszukiwaniu tekstowym umożliwia też wpływanie na wyniki wyszukiwania, aby uwzględniać te, które mają minimalny czas objazdu od miejsca początkowego do miejsca docelowego. Możesz wpływać na wyniki wyszukiwania, używając opcji locationBias lub locationRestriction w połączeniu z linią łamaną.
Weźmy na przykład trasę z miejsca początkowego, które w interfejsie Routes API jest nazywane punktem pośrednim , do miejsca docelowego obliczoną przez interfejs Routes API:
Gdy wyszukujesz miejsca przy trasie, wyszukiwanie jest nastawione na zwracanie miejsc w pobliżu trasy z minimalnym czasem objazdu od miejsca początkowego do miejsca docelowego. W tym przykładzie punkty A, B i C to miejsca zwrócone przez wyszukiwanie.
Obliczanie podsumowania routingu
Wyszukiwanie tekstowe (nowe) i wyszukiwanie w pobliżu (nowe) mogą obliczyć podsumowanie routingu, czyli czas trwania i odległość, do każdego miejsca w odpowiedzi na podstawie określonej w żądaniu lokalizacji początkowej. Gdy określisz lokalizację początkową, odpowiedź będzie zawierać nie tylko listę miejsc pasujących do wyszukiwania, ale też czas podróży i odległość od lokalizacji początkowej do każdego miejsca.
Na ilustracji poniżej punkty A, B i C to miejsca zwrócone w odpowiedzi na wyszukiwanie:
W przypadku każdego miejsca w wynikach odpowiedź zawiera czas podróży i odległość od lokalizacji początkowej do tego miejsca, jeśli są dostępne.
Domyślnie czas podróży i odległość są obliczane za pomocą opcji TRAFFIC_UNAWARE
w interfejsie Routes API. Opcjonalnie możesz ustawić preferencje routingu, aby podczas obliczeń uwzględniać
aktualne warunki na drodze TRAFFIC_AWARE_OPTIMAL
lub aktualne warunki na drodze ze zmniejszonym opóźnieniem TRAFFIC_AWARE.
Informacje o trasach, odcinkach i punktach pośrednich
Trasa obliczona przez interfejs Routes API składa się z kilku komponentów:
Trasa składa się z tych komponentów:
- Waypoint: aby obliczyć trasę, musisz podać co najmniej lokalizacje miejsca początkowego i docelowego. Te lokalizacje definiujesz jako punkty pośrednie na trasie. Punkty pośrednie to lokalizacje między miejscem początkowym a docelowym, przez które ma przebiegać trasa.
-
Trasa: cała podróż od punktu początkowego przez wszystkie punkty pośrednie do punktu docelowego. Trasa składa się z co najmniej 1 odcinka.
Gdy przekazujesz trasę do wyszukiwania tekstowego, przekazujesz zakodowaną linię łamaną trasy zwróconą przez interfejs Routes API. Zakodowana linia łamana to zakodowana lista punktów szerokości i długości geograficznej, która umożliwia przedstawienie linii łamanej trasy jako ciągu znaków.
-
Odcinek: ścieżka od jednego punktu pośredniego na trasie do następnego punktu pośredniego na trasie. Każdy odcinek składa się z co najmniej 1 oddzielnego kroku.
Trasa zawiera oddzielny odcinek dla ścieżki od każdego punktu pośredniego do następnego. Jeśli np. trasa zawiera tylko 1 punkt początkowy i 1 punkt docelowy, to trasa zawiera 1 odcinek.
W przypadku każdego dodatkowego punktu pośredniego dodanego do trasy po miejscu początkowym i docelowym, zwanego punktem pośrednim, interfejs API dodaje oddzielny odcinek.
Więcej informacji o trasach i ich obliczaniu znajdziesz w dokumentacji interfejsu Routes API.
Obliczanie podsumowania routingu za pomocą wyszukiwania miejsc przy trasie
Możesz łączyć obliczanie podsumowania routingu z wyszukiwaniem miejsc przy trasie. W takim przypadku wyszukiwanie tekstowe (nowe) zwraca czas podróży i odległość do każdego miejsca w odpowiedzi, a następnie z każdego miejsca do miejsca docelowego trasy. To obliczenie można traktować jako podanie czasu podróży i odległości, jeśli zboczysz z określonej trasy, aby dotrzeć do miejsca w wynikach wyszukiwania, a następnie kontynuować podróż do miejsca docelowego.
Weźmy na przykład trasę z miejsca początkowego do miejsca docelowego obliczoną przez interfejs Routes API. Przekaż tę trasę do interfejsu Wyszukaj tekst (New) API wraz z kryteriami wyszukiwania.
W tym przykładzie lokalizacja A to miejsce zwrócone w wynikach wyszukiwania przez wyszukiwanie tekstowe (nowe). W przypadku każdego miejsca w odpowiedzi wyszukiwanie obejmuje czas i odległość potrzebne do objazdu do tego miejsca jako podróży dwuetapowej:
- Pierwszy etap zawiera czas podróży i odległość od miejsca początkowego do miejsca. W tym przykładzie od miejsca początkowego do miejsca A.
- Drugi etap zawiera czas podróży i odległość od miejsca do miejsca docelowego. W tym przykładzie od miejsca A do miejsca docelowego.
Na podstawie informacji w odpowiedzi możesz obliczyć czas i odległość objazdu, gdzie:
- \(t_{OD}\) to czas podróży od miejsca początkowego do miejsca docelowego, \(s_{OD}\) a to odległość podróży od miejsca początkowego do miejsca docelowego;
- \(t_{OA}\) to czas podróży od miejsca początkowego do miejsca A, a \(s_{OA}\) to odległość podróży od miejsca początkowego do miejsca A;
- \(t_{AD}\) to czas podróży od miejsca A do miejsca docelowego, \(s_{AD}\) to odległość podróży od miejsca A do miejsca docelowego.
Czas objazdu to różnica czasu między pierwotną podróżą (od miejsca początkowego do miejsca docelowego) a nową podróżą (od miejsca początkowego do miejsca docelowego przez miejsce A):
Odległość objazdu to różnica odległości między pierwotną podróżą (od miejsca początkowego do miejsca docelowego) a nową podróżą (od miejsca początkowego do miejsca docelowego przez miejsce A):