Omówienie wyszukiwania miejsc przy trasie
Funkcje wyszukiwania wzdłuż trasy są dostępne w tych interfejsach Places API (nowych):
- Tylko wyszukiwanie tekstowe (nowość): wyszukiwanie miejsc na trasie wstępnie zdefiniowanej podróży.
- Wyszukiwanie tekstowe (nowe) i wyszukiwanie w pobliżu (nowe): obliczanie podsumowania wyznaczania trasy z określonej lokalizacji początkowej do każdego miejsca w wynikach wyszukiwania.
- Tylko wyszukiwanie tekstowe (nowe): oblicz podsumowanie wyznaczania trasy dla każdego miejsca na zdefiniowanej trasie podróży.
Szukaj miejsc przy trasie
Do obliczania trasy przejazdu 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 korzystanie z tej obliczonej trasy do wyszukiwania wzdłuż trasy. W przypadku tej opcji przekazujesz wstępnie obliczoną trasę z interfejsu Routes API do żądania wyszukiwania tekstowego (nowego). Odpowiedź zawiera miejsca, które pasują do kryteriów wyszukiwania i znajdują się w pobliżu określonej trasy.
Wyszukiwanie wzdłuż trasy jest podobne do korzystania z opcji żądania locationRestriction lub locationBias, aby wpływać na wyniki 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, w którym mają być wyświetlane wyniki wyszukiwania, ale funkcja wyszukiwania miejsc przy trasie w wyszukiwaniu tekstowym pozwala też wyświetlać wyniki wyszukiwania z minimalnym czasem objazdu od początku do końca trasy. Wyniki wyszukiwania możesz dostosować za pomocą locationBias lub locationRestriction w połączeniu z linią łamaną.
Weźmy na przykład trasę z miejsca wyjazdu, które w interfejsie Routes API jest nazywane punktem pośrednim, do miejsca docelowego obliczoną przez interfejs Routes API:
Gdy wyszukujesz miejsca na trasie, wyniki wyszukiwania są ukierunkowane na zwracanie miejsc w pobliżu trasy, do których można dotrzeć z miejsca początkowego do 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 Text Search (New) i Nearby Search (New) mogą obliczać podsumowanie trasy, czyli czas 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 docelowego do miejsca docelowego, jeśli są dostępne.
Domyślnie czas trwania podróży i dystans są obliczane za pomocą opcji TRAFFIC_UNAWARE w interfejsie Routes API. Opcjonalnie możesz ustawić preferencje routingu, aby podczas obliczeń uwzględniać warunki ruchu na żywo TRAFFIC_AWARE_OPTIMAL lub warunki ruchu na żywo ze zmniejszonym opóźnieniem TRAFFIC_AWARE.
Informacje o trasach, odcinkach i punktach pośrednich
Na trasę obliczoną przez interfejs Routes API składa się kilka komponentów:
Trasa składa się z następujących komponentów:
- Waypoint aby obliczyć trasę, musisz podać co najmniej lokalizację 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 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 odcinek składa się z co najmniej 1 kroku.
Trasa zawiera osobny etap dla ścieżki od każdego punktu do następnego. Jeśli np. trasa zawiera 1 punkt początkowy i 1 punkt docelowy, to ma tylko 1 etap.
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 interfejsie Routes API.
Obliczanie podsumowania wyznaczania trasy z wyszukiwaniem miejsc przy trasie
Obliczenia podsumowania wyznaczania trasy możesz łączyć z wyszukiwaniem wzdłuż trasy. W takim 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 wyznaczonej 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ę ścieżkę do interfejsu Text Search (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 etap zawiera czas trwania podróży i odległość od miejsca wyjazdu do miejsca. W tym przykładzie z miejsca pochodzenia do miejsca A.
- Drugi etap zawiera czas trwania podróży i odległość od miejsca do celu trasy. W tym przykładzie od punktu A do miejsca docelowego.
Na podstawie informacji w odpowiedzi możesz obliczyć czas i długość objazdu, gdzie:
- \(t_{OD}\) to czas trwania podróży z miejsca wyjazdu do miejsca docelowego, \(s_{OD}\) to odległość z miejsca wyjazdu do miejsca docelowego
- \(t_{OA}\) to czas trwania 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 podróży z A do miejsca docelowego; \(s_{AD}\) to odległość podróży 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):