Wskazówki, które ułatwią użytkownikom korzystanie z nawigacji samochodem

Zwykle gdy użytkownik jedzie do ciekawego miejsca, potrzebuje wskazówek dojazdu do pobliskiej lokalizacji, takiej jak parking lub punkt dostępu. Wyobraź sobie, że kierowca jedzie na lotnisko lub do centrum handlowego. Gdy jedziesz na lotnisko, kierowca próbuje dotrzeć do terminala lub punktu docelowego, a nie do centrum kompleksu lotniskowego. Tak samo lepszym rozwiązaniem dla użytkownika z samochodem może być parking obok centrum handlowego. W takim przypadku podczas tworzenia aplikacji lub usługi do kierowania kierowcą należy najpierw znaleźć lokalizację, do której się uda, a następnie zaoferować kierowcy opcjonalne miejsca docelowe znajdujące się w pobliżu. Takie podejście pozwoli Ci zapewnić lepszą obsługę klientom i udowodnić, że cenisz ich czas. W tym celu mały, ale mądry projekt wykorzystuje dane o lokalizacji dostarczane przez Google Maps Platform.

[Kontekst systemu] Systemy nawigacyjne wysokiego poziomu
Uproszczony widok systemów używanych podczas kierowania kierowcy do miejsca z samochodem
Schemat systemów wysokiego poziomu

Pokażemy, jak korzystać z interfejsów Places API i Directions API w odpowiedniej kolejności lub połączeniu, by znaleźć właściwą lokalizację zaparkowanego obok miejsca docelowego. Rozwiązanie to ma na celu wyeliminowanie niepewności i wielokrotnej interakcji w celu znalezienia miejsca do zaparkowania podczas jazdy bliżej punktu docelowego. Przyjrzyjmy się szczegółowo dwóm przykładom takich przypadków.

Przykład 1 – atrakcja turystyczna bez parkingu

Wybierzmy lokalizację, która nie jest bezpośrednio połączona z drogą, tak aby trasę trzeba było pokonywać osobno, celem Notre Dame w Paryżu jest Notre Dame w Paryżu, a jako punkt początkowy użyjmy stacji kolejowej Gare de l’Est (48.87697775149635, 2.35922478067556).

Dworzec kolejowy Gare de l'Est

Kierowca odjeżdża ze stacji około 16 minut na północ od katedry Notre Dame. Notre Dame to słynna atrakcja turystyczna na wyspie z dostępem do mostów, kilkoma ulicami jednokierunkowymi i brakiem dużego parkingu w pobliżu, więc to powinno być interesującym wyzwaniem.

Żądanie do interfejsu Places API

To przykładowe żądanie do interfejsu Places API wykorzystuje „wyszukiwanie tekstowe”, aby znaleźć Notre Dame. Więcej informacji znajdziesz w dokumentacji dla programistów. „YOUR_KEY” w tych przykładach to klucz interfejsu API, którego używasz dla interfejsów Google Maps Platform Places and Directions API włączonych w konsoli Google Cloud. Bardziej szczegółowe wyjaśnienia znajdziesz w dokumentacji dotyczącej pierwszych kroków z Google Maps Platform.

https://maps.googleapis.com/maps/api/place/textsearch/json?query=notre_dame&location=48.864716%2C2.349014&region=fr&key=YOUR_KEY

Odpowiedź na to żądanie podaje następujące współrzędne szerokości i długości geograficznej:


  "results" : [
      {
        "formatted_address" : "Notre Dame, Paris",
        "geometry" : {
           "location" : {
               "lat" : 48.8527288,
                },
  ...

Jak widzicie, współrzędne są charakterystyczne dla Notre Dame.

Zdjęcie Notre Dame
Notre Dame na mapie

Deweloper lub usługodawca powinien automatycznie pytać kierowcę o możliwość zaparkowania w pobliżu Notre Dame. W zależności od urządzenia i ekranu może to wyglądać inaczej, ale w tym przypadku warto rozważyć subtelny komunikat, który znika po krótkim czasie. Aby znaleźć parking w pobliżu katedry Notre Dame, wyszukaj tekst w interfejsie Places API z ustawionymi parametrami „parking” i promieniem „300”. Ten przykład pokazuje wyniki dotyczące parkingów w promieniu 300 metrów od katedry Notre Dame.

https://maps.googleapis.com/maps/api/place/textsearch/json?query=parking
&location=48.8527288%2C2.3505635&region=fr&type=parking&radius=300&key=YOUR_KEY

Pierwszy wynik to „Parking Saemes Maubert-Lagrange” pod adresem 48.850591, 2.3486436. Wykorzystamy ją w następnej części, w której wykonujemy żądanie do interfejsu Directions API.

Żądanie do interfejsu Directions API

Aby znaleźć trasę ze stacji do strefy parkingowej w pobliżu katedry Notre Dame, musisz przesłać żądanie do interfejsu Directions API. Wystarczy, że ustawisz parametry punktu początkowego i docelowego. Więcej opcji znajdziesz w dokumentacji dla programistów.

https://maps.googleapis.com/maps/api/directions/json?origin=48.8767903,2.3592251&destination=48.850591%2C2.3486436&key=YOUR_KEY

Odpowiedź interfejsu Direction API zwykle zawiera wiele sugestii dotyczących trasy. Każda trasa składa się z wielu „etapów”, które zawierają wiele „kroków” wskazujących odległość i współrzędne. Aby znaleźć końcowe współrzędne, do których można dotrzeć samochodem, użyj pola „end_location” na ostatnim etapie wybranego etapu trasy.

Może się wydawać, że to nie jest pierwsza decyzja, ale jeśli spojrzysz na mapę lub Google Street View, zauważysz, że jest to miejsce położone w bardzo krótkiej odległości od katedry Notre Dame (około 6–7 minut spacerem).

Trasa piesza z parkingu do katedry Notre Dame

Trasa piesza od parkingu do katedry Notre Dame

Podsumowanie dla przykładu 1

Jak widać, znalezienie miejsca parkingowego dla samochodu wymaga tylko kilku wywołań interfejsu API i wyświetlenia sugestii kierowcy. Dzięki temu użytkownicy oszczędzają czas, ponieważ nie poruszają się jednokierunkowymi ulicami ani nie szukają miejsca, w którym mogą zostawić samochód w zatłoczonej atrakcji turystycznej. Podsumowując, zrealizowaliśmy te żądania do interfejsu API:

  • Żądanie do interfejsu Places API o znalezieniu współrzędnych katedry Notre Dame
  • Żądanie do interfejsu Places API o znalezieniu obszaru parkingowego w promieniu 300 metrów od tych współrzędnych.
  • Żądanie do interfejsu Directions API w celu znalezienia trasy na parking

Przykład 2. Trasa do terminala na dużym lotnisku

Lotnisko Heathrow na mapie
Przeanalizujmy kolejny przykład, w którym kierowca próbuje dotrzeć na duży obszar z wieloma lokalizacjami, ciekawymi miejscami lub punktami wyjazdu. Kierowca wyjeżdża ze stadionu Wembley w Wielkiej Brytanii (51.557263604707224, -0,2794575145680608) i próbuje dotrzeć do terminalu 5 lotniska London Heathrow. Zwykle użytkownik zaczyna wpisywać hasło „Heathrow” i w większości przypadków wybiera jeden z 2 lub 3 pierwszych wyników, jeśli wydaje się to poprawnym wynikiem. Po odczytaniu wartości w polu „Typy” na podstawie wybranego wyniku możesz dowiedzieć się, że lokalizacją jest lotnisko. Pełną listę typów znajdziesz tutaj.

  "types" : [ "airport", "point_of_interest", "establishment" ],

Każdy, kto był w jakimś dużym lotnisku, wie jednak, że jeśli dotrzesz do niewłaściwego miejsca, podróż między terminalami może zająć dużo czasu. W tym przypadku typ wyniku wyszukiwania to „lotnisko”, więc warto automatycznie uzupełnić zapytanie, wyszukując hasło „terminal” na podstawie lokalizacji lotniska Londyn- Heathrow (51.47016927594547, -0,45432767852489075). W tym przykładzie widać też opcjonalne ograniczenie zasięgu wyszukiwania do 3000 metrów.

  https://maps.googleapis.com/maps/api/place/textsearch/json?query=terminal&location=51.47016927594547%2C-0.45432767852489075&region=gb&key=YOUR_KEY&radius=3000

Powyższe zapytanie zwróci listę terminali i poszczególnych punktów odbioru w tych terminalach. Na liście wyników możemy znaleźć „Terminal 5 Lotniska Chopina w Londynie” wraz z jego identyfikatorem miejsca:

 "place_id" : "ChIJtQRd6XVxdkgRTUGZtcsoGNc",

Korzystając z parametru „place_id”, możemy poinformować interfejs Directions API, że próbujemy dotrzeć do określonego miejsca, a nie według dowolnych współrzędnych.

  https://maps.googleapis.com/maps/api/directions/json?origin=51.557263604707224,-0.2794575145680608&destination=place_id:ChIJtQRd6XVxdkgRTUGZtcsoGNc&key=YOUR_KEY

Podobnie jak w poprzednim przykładzie, czytając wszystkie kroki w odpowiedzi JSON, znajdziesz ostatnią część podróży oraz współrzędne długości i szerokości geograficznej lokalizacji (51.47079979999999,-0.4896765).

Terminal 5 Heathrow

Podsumowanie dla przykładu 2

Tak jak w poprzednim przykładzie, nakład pracy w celu zapewnienia udoskonalonych wskazówek kierowcy jest bardzo mały, a korzyści zaoszczędzone w czasie można łatwo zmierzyć. Zgłoszono nam następujące prośby:

  • Żądanie do interfejsu Places API dotyczące znalezienia lotniska Heathrow
  • Żądanie do interfejsu Places API mające na celu znalezienie wszystkich terminali w pobliżu współrzędnych lotniska Heathrow
  • Żądanie do interfejsu Directions API pobierające trasę do terminala 5

Podsumowanie

Jak widać, nakłady pracy potrzebne do świadczenia usług najwyższej jakości klientom podróżującym samochodem są niewielkie i pozwalają łatwo zaprezentować, jak myślą Państwo o potrzebach klientów.

Do celów programistycznych możesz używać wielu dostępnych bibliotek i narzędzi, które ułatwiają tworzenie usług dla klientów. Zapoznaj się z naszym publicznie dostępnym repozytorium Google Maps Platform na GitHubie.

Następne działania

Główny autor

Mikko Toivanen | Inżynier rozwiązań Google Maps Platform