Omówienie wyszukiwania na trasie

Funkcje wyszukiwania na trasie są dostępne w tych interfejsach Places API (nowych):

  • Tylko wyszukiwanie tekstowe (nowe): wyszukiwanie miejsc na wstępnie zdefiniowanej trasie podróży.
  • Wyszukiwanie tekstu (nowe) i Wyszukiwanie w pobliżu (nowe): oblicz podsumowanie wyznaczania trasy z określonej lokalizacji początkowej do każdego miejsca w wynikach wyszukiwania.
  • Tylko wyszukiwanie tekstowe (nowe): oblicz podsumowanie trasy dla każdego miejsca na wstępnie zdefiniowanej trasie podróży.

Wyszukiwanie miejsc na trasie

Używasz interfejsu Routes API do obliczania trasy przejazdu między 2 lokalizacjami. Interfejs Routes API może obliczyć trasę dla samochodu, roweru, pojazdu dwukołowego, transportu publicznego lub pieszych.

Wyszukaj tekst (Nowe) umożliwia użycie 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 na trasie 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. Jednak opcje locationBias i locationRestriction pozwalają określić region, aby zawęzić wyniki wyszukiwania, a funkcja wyszukiwania na trasie w wyszukiwarce tekstowej pozwala też zawęzić wyniki wyszukiwania, aby uwzględnić te, które mają minimalny czas objazdu od miejsca rozpoczęcia trasy do miejsca docelowego. Możesz wpływać na wyniki wyszukiwania, używając parametru locationBias lub locationRestriction w połączeniu z polilinią.

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:

Trasa z punktu początkowego do miejsca docelowego z wynikami wyszukiwania.

Gdy wyszukujesz miejsca na trasie, wyszukiwanie jest ukierunkowane 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 trasy

Wyszukiwanie tekstu (nowe) i wyszukiwanie w pobliżu (nowe) 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 też czas podróży i odległość od punktu początkowego trasy do każdego miejsca.

Na poniższym obrazie punkty A, B i C to miejsca zwrócone w odpowiedzi na wyszukiwanie:

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 punktu początkowego trasy do 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. Możesz opcjonalnie ustawić preferencje wyznaczania trasy, aby podczas obliczeń uwzględniać warunki na drodze w czasie rzeczywistym TRAFFIC_AWARE_OPTIMAL lub warunki na drodze w czasie rzeczywistym z mniejszym opóźnieniem TRAFFIC_AWARE.

Informacje o trasach, etapach i punktach orientacyjnych

Trasa obliczona przez interfejs Routes API składa się z kilku komponentów:

Komponenty, które składają się na trasę.

Trasa składa się z tych komponentów:

  • Waypoint aby obliczyć trasę, musisz podać co najmniej lokalizacje punktu 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 etapu.

    Podczas przekazywania trasy do wyszukiwania tekstowego przekazujesz zakodowaną linię łamaną trasy zwracaną 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 na trasie do następnego punktu na trasie. Każdy odcinek składa się z co najmniej 1 kroku.

    Trasa zawiera osobny odcinek dla ścieżki od każdego punktu na trasie do następnego. Jeśli np. trasa zawiera pojedynczy punkt początkowy i pojedynczy punkt docelowy, to zawiera ona jeden odcinek.

    W przypadku każdego dodatkowego punktu pośredniego, który dodasz do trasy po punkcie początkowym i docelowym, nazywanego punktem pośrednim, interfejs API dodaje osobny odcinek.

Więcej informacji o trasach i ich obliczaniu znajdziesz w dokumentacji Routes API.

Obliczanie podsumowania trasy z wyszukiwaniem na trasie

Możesz połączyć obliczenia podsumowania trasy z wyszukiwaniem na trasie. W takim przypadku Wyszukaj tekst (New) zwraca w odpowiedzi czas podróży i odległość do każdego miejsca, a następnie z każdego miejsca do miejsca docelowego trasy. Te obliczenia podają czas podróży i odległość, jeśli zboczysz z określonej trasy, aby dotrzeć do miejsca z wyników wyszukiwania, a następnie kontynuować podróż do miejsca docelowego.

Weźmy na przykład tę trasę od punktu początkowego do miejsca docelowego obliczoną przez interfejs Routes API. Przekaż tę trasę do interfejsu Wyszukaj tekst (New) API wraz z kryteriami wyszukiwania.

Trasa z punktu początkowego do miejsca docelowego z objazdem do wyniku wyszukiwania.

W tym przykładzie lokalizacja A to miejsce zwrócone w wynikach wyszukiwania przez usługę Wyszukaj tekst (New). W przypadku każdego miejsca w odpowiedzi wyszukiwanie obejmuje czas trwania i odległość wymagane do dotarcia do tego miejsca w ramach podróży dwuetapowej:

  • Pierwszy etap zawiera czas podróży i odległość od miejsca początkowego do miejsca. W tym przykładzie z punktu początkowego do miejsca A.
  • Drugi odcinek zawiera czas podróży i odległość od miejsca do miejsca docelowego trasy. W tym przykładzie od punktu A do miejsca docelowego.

Na podstawie informacji zawartych w odpowiedzi możesz obliczyć czas trwania i odległość objazdu, gdzie:

  • \(t_{OD}\) to czas trwania przejazdu z miejsca wyjazdu do miejsca docelowego, \(s_{OD}\) to długość przejazdu z miejsca wyjazdu do miejsca docelowego.
  • \(t_{OA}\) to czas trwania przejazdu z miejsca wyjazdu do punktu A; \(s_{OA}\) to odległość przejazdu z miejsca wyjazdu do punktu A.
  • \(t_{AD}\) to czas przejazdu z punktu A do miejsca docelowego; \(s_{AD}\) to odległość przejazdu z punktu A do miejsca docelowego.

Czas trwania objazdu to różnica czasu trwania między pierwotną trasą (od miejsca początkowego do miejsca docelowego) a nową trasą (od miejsca początkowego do miejsca docelowego przez A):

$$ t_{detour} = t_{OA} + t_{AD} - t_{OD} $$

Odległość objazdu to różnica odległości między pierwotną trasą (od miejsca początkowego do miejsca docelowego) a nową trasą (od miejsca początkowego do miejsca docelowego przez punkt A):

$$ s_{detour} = s_{OA} + s_{AD} - s_{OD} $$