Omówienie wyszukiwania miejsc przy trasie
Funkcje wyszukiwania wzdłuż trasy są dostępne w tych interfejsach Places API (nowych):
- Tylko wyszukiwanie tekstowe (nowość): wyszukuj miejsca na trasie wstępnie zdefiniowanej podróży.
- Wyszukiwanie tekstowe (nowe) i wyszukiwanie w pobliżu (nowe): obliczanie podsumowania wyznaczania trasy z określonego miejsca początkowego do każdego miejsca w wynikach wyszukiwania.
- Tylko wyszukiwanie tekstowe (nowe): obliczanie podsumowania wyznaczania trasy dla każdego miejsca na zdefiniowanej trasie podróży.
Szukaj miejsc przy trasie
Do obliczania trasy podróży między dwoma 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 korzystanie z tej obliczonej trasy do przeprowadzania wyszukiwania wzdłuż trasy. W przypadku 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 wzdłuż trasy jest podobne do używania opcji żądania locationRestriction lub locationBias w celu ukierunkowania wyników wyszukiwania. locationRestriction
zwraca wyniki wyszukiwania, które mieszczą się w granicach widocznego obszaru, a locationBias może zwracać wyniki wyszukiwania poza widocznym obszarem. Opcje locationBias i locationRestriction umożliwiają określenie regionu, który ma wpływać na wyniki wyszukiwania. Funkcja wyszukiwania miejsc przy trasie w usłudze Text Search pozwala też wpływać na wyniki wyszukiwania, aby uwzględniać te, które mają minimalny czas objazdu od początku do końca trasy. Wyniki wyszukiwania możesz dostosować za pomocą funkcji locationBias lub locationRestriction w połączeniu z linią łamaną.
Weźmy na przykład trasę od punktu początkowego, zwanego w interfejsie Routes API punktem pośrednim, do miejsca docelowego, obliczoną przez interfejs Routes API:
Gdy wyszukujesz coś wzdłuż trasy, wyniki wyszukiwania są ukierunkowane na miejsca w pobliżu trasy, do których można dotrzeć z miejsca początkowego do miejsca docelowego przy minimalnym czasie objazdu. W tym przykładzie punkty A, B i C to miejsca zwrócone przez wyszukiwanie.
Obliczanie podsumowania wyznaczania trasy
Usługi Wyszukaj tekst (New) i Wyszukiwanie w pobliżu (New) mogą obliczać podsumowanie trasy, czyli czas trwania i odległość do każdego miejsca w odpowiedzi na podstawie określonej w żądaniu lokalizacji początkowej trasy. Gdy określisz punkt początkowy trasy, odpowiedź będzie zawierać nie tylko listę miejsc pasujących do wyszukiwania, ale także czas podróży i odległość od punktu początkowego trasy 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 miejsca rozpoczęcia trasy do danego 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 dotyczące wyznaczania trasy, aby uwzględniać TRAFFIC_AWARE_OPTIMAL warunki ruchu na żywo lub TRAFFIC_AWARE warunki ruchu na żywo z mniejszym opóźnieniem.
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 punktu początkowego i miejsca 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.
Podczas przekazywania trasy 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 w postaci ciągu znaków.
-
Odcinek: ścieżka od jednego punktu na trasie do następnego. Każdy etap składa się z co najmniej 1 kroku.
Trasa zawiera osobny odcinek dla ścieżki od każdego punktu do następnego. Jeśli np. trasa zawiera 1 punkt początkowy i 1 punkt docelowy, to składa się z 1 odcinka.
W przypadku każdego dodatkowego punktu pośredniego dodanego do trasy po punkcie początkowym i docelowym interfejs API dodaje osobny etap.
Więcej informacji o trasach i ich obliczaniu znajdziesz w artykule o interfejsie Routes API.
Obliczanie podsumowania wyznaczania trasy za pomocą wyszukiwania wzdłuż trasy
Możesz łączyć obliczenia podsumowania trasy z wyszukiwaniem wzdłuż trasy. W tym przypadku Wyszukiwanie tekstowe (nowe) zwraca w odpowiedzi czas podróży i odległość do każdego miejsca, a następnie z każdego miejsca do końcowego miejsca docelowego trasy. To obliczenie podaje czas podróży i odległość, jeśli zboczysz z określonej trasy, aby dotrzeć do miejsca w wynikach wyszukiwania, a następnie kontynuować podróż do miejsca docelowego.
Rozważmy na przykład tę trasę z miejsca początkowego do 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 z wyszukiwania tekstowego (nowego). W przypadku każdego miejsca w odpowiedzi wyszukiwarka podaje czas i odległość potrzebne na objazd do tego miejsca w ramach dwuetapowej podróży:
- Pierwszy odcinek zawiera czas trwania podróży i odległość od miejsca początkowego do miejsca docelowego. W tym przykładzie z miejsca pochodzenia do miejsca A.
- Drugi odcinek zawiera czas podróży i odległość od miejsca do miejsca docelowego trasy. W tym przykładzie z punktu A do miejsca docelowego.
Na podstawie informacji w odpowiedzi możesz obliczyć czas trwania i długość objazdu, gdzie:
- \(t_{OD}\) to czas trwania podróży z miejsca początkowego do miejsca docelowego, \(s_{OD}\) to odległość z miejsca początkowego do miejsca docelowego
- \(t_{OA}\) to czas podróży z miejsca początkowego do punktu A; \(s_{OA}\) to odległość podróży z miejsca początkowego do punktu A
- \(t_{AD}\) to czas trwania przejazdu z A do miejsca docelowego; \(s_{AD}\) to odległość przejazdu z A do miejsca docelowego.
Czas trwania objazdu to różnica czasu trwania między pierwotną podróżą (z miejsca początkowego do docelowego) a nową podróżą (z miejsca początkowego do docelowego przez punkt A):
Odległość objazdu to różnica odległości między pierwotną podróżą (z miejsca początkowego do docelowego) a nową podróżą (z miejsca początkowego do docelowego przez punkt A):