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

Zwykle, gdy użytkownik jedzie do punktu zainteresowania, potrzebuje nawigacji do pobliskiej lokalizacji, takiej jak parking lub punkt dostępu. Wyobraź sobie kierowcę, który musi dojechać na lotnisko lub do centrum handlowego. Gdy jedziesz na lotnisko, kierowca stara się dotrzeć do terminala lub punktu docelowego, a nie do centrum lotniska. Podobnie dla osoby z samochodem lepszym rozwiązaniem może być parking obok centrum handlowego. W takim przypadku, gdy tworzysz aplikację lub usługę, która ma służyć do kierowania kierowcą, najpierw znajdź lokalizację, do której ma się udać, a potem zaproponuj opcjonalne miejsca docelowe w pobliżu tej lokalizacji. Takie podejście pozwoli Ci zapewnić klientom lepszą obsługę i pokazać, że cenisz ich czas. Wystarczy niewielkie, ale rozsądne działania programistyczne, które wykorzystuje dane o lokalizacji z Google Maps Platform.

[Kontekst systemu] Systemy nawigacyjne wysokiego poziomu
Uproszczony widok systemów uczestniczących w kierowaniu kierowcy do lokalizacji z samochodem
Schemat systemów wysokiego poziomu

Pokażemy Ci, jak w sekwencji lub w połączeniu z interfejsem Places API i interfejsem Directions API znajdować właściwe miejsce do zaparkowania obok miejsca docelowego. Rozwiązanie to ma na celu wyeliminowanie niepewności i wielu interakcji związanych ze znajdowaniem miejsca parkingowego podczas jazdy w pobliże miejsca docelowego. Przyjrzyjmy się 2 przykładom szczegółowego wdrożenia tych przypadków.

Przykład 1 – atrakcja turystyczna bez parkingu

Wybierzmy lokalizację, która nie jest bezpośrednio połączona z drogą, aby trasa musiała być pobierana osobno. Punktem docelowym będzie Notre Dame w Paryżu, a jako punkt początkowy użyjemy stacji kolejowej Gare de l’Est (48.87697775149635, 2.3592247806755564).

Gare de l'Est

Kierowca wyjeżdża ze stacji około 16 minut na północ od Notre Dame. Notre Dame to słynna atrakcja turystyczna na wyspie, do której można dostać się mostem, niektóre ulice jednokierunkowe i w pobliżu nie ma dużego parkingu, więc może to być ciekawym wyzwaniem.

Żądanie do interfejsu Places API

W tym przykładzie żądanie interfejsu Places API używa „wyszukiwania tekstowego” do znalezienia Notre Dame. Więcej informacji znajdziesz w dokumentacji dla programistów. „YOUR_KEY” w tych przykładach to klucz interfejsu API, który masz dla interfejsów Google Maps Platform Places and Directions API włączonych w konsoli Google Cloud. Więcej informacji znajdziesz w dokumentacji Pierwsze kroki 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

W odpowiedzi na powyższą prośbę podajemy szerokość geograficzną długość geograficzna:

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

Jak widać, współrzędne wskazują na katedrę Notre Dame.

Zdjęcie Notre Dame
Notre Dame na mapie

Jeśli jesteś deweloperem lub dostawcą usług, warto automatycznie wyświetlać kierowcy komunikat „Szukasz parkingu w pobliżu Notre Dame?”. Wygoda użytkownika będzie różna w zależności od urządzenia i ekranu, ale w tym przypadku warto rozważyć wyświetlanie subtelnego wyskakującego okienka z tekstem, które po krótkim czasie znika. Aby znaleźć parking w pobliżu Notre Dame, wyszukaj tekst interfejsu Places API, wpisując „parking” i ustawiony parametr „300”. W tym przykładzie wyniki będą dotyczyć parkingów w odległości do 300 metrów od 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” (48.850591, 2.3486436). Wykorzystamy tę lokalizację w następnej części, gdy będziemy wysyłać żądanie do interfejsu Directions API.

Żądanie do interfejsu Directions API

Aby znaleźć trasę ze stacji do parkingu w pobliżu Notre Dame, musisz wysłać żądanie do interfejsu Directions API. Wystarczy ustawić parametry miejsca wylotu i miejsca 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 kilka propozycji tras. Każda trasa składa się z kilku „odcinków”, a te z kilku „kroków”, które zawierają 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” w ostatnim kroku ostatniego etapu wybranej trasy.

Może się wydawać, że to nie jest pierwsza lokalizacja, ale kiedy spojrzysz na mapę lub Google Street View, zobaczysz, że znajduje się ona w niedalekiej odległości (około 6-7 minut) od Notre Dame.

Trasa piesza z parkingu do katedry Notre Dame

Trasa piesza z parkingu do katedry Notre Dame

Podsumowanie 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 zaoszczędzą czas, ponieważ nie będą musieli jeździć po ulicach jednokierunkowych ani szukać miejsca na zaparkowanie samochodu w tłoku wokół atrakcji turystycznych. Podsumowując, wprowadziliśmy następujące żądania do interfejsu API:

  • Prośba do interfejsu Places API o znalezienie współrzędnych Notre Dame
  • Żądanie do interfejsu Places API w celu znalezienia parkingu w promieniu 300 metrów od tych współrzędnych.
  • Żądanie do interfejsu Directions API w celu znalezienia trasy do parkingu

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

Lotnisko Heathrow na mapie
Przyjrzyjmy się innemu przykładowi, w którym kierowca próbuje dotrzeć do dużego obszaru z wieloma lokalizacjami, ważnymi miejscami lub miejscami, w których mogą wjechać. Kierowca wyjeżdża ze stadionu Wembley w Wielkiej Brytanii (51.557263604707224, -0.2794575145680608) i próbuje dotrzeć na terminal lotniska Londyn-Heathrow 5. Zwykle użytkownik zaczyna wpisywać hasło „Heathrow” i najczęściej wybiera jeden z 2 lub 3 pierwszych wyników, jeśli wydaje się prawidłowy. Z wybranych wyników dowiesz się, że lokalizacją jest lotnisko, korzystając z wartości pól „typy”. Pełną listę typów znajdziesz tutaj.

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

Każdy, kto był w dowolnym dużym lotnisku, wie jednak, że jeśli trafisz w niewłaściwe miejsce, przesiadka między terminalami zajmuje dużo czasu. W tym przypadku wyniki wyszukiwania to „lotnisko”, dzięki czemu możesz automatycznie wyszukać hasło „terminal”, korzystając z lokalizacji lotniska Londyn-Heathrow (51.47016927594547, -0.45432767852489075). W przykładzie widać też opcjonalne ograniczenie promienia 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 zawiera listę terminali i poszczególnych punktów, w których chcesz wsiąść. Na liście wyników znajdziesz „terminal 5 lotniska Londynu Heathrow” i jego identyfikator miejsca:

 "place_id" : "ChIJtQRd6XVxdkgRTUGZtcsoGNc",

Za pomocą parametru „place_id” możemy poinformować interfejs Directions API, że próbujemy dotrzeć do wybranego miejsca, a nie za pomocą dowolnych współrzędnych.

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

Tak jak w poprzednim przykładzie, po przeczytaniu wszystkich kroków w odpowiedzi JSON znajdziesz ostatnią część ścieżki oraz lokalizacje końcowe długie współrzędne (51.47079979999999,-0.4896765).

Terminal 5 na lotnisku Heathrow

Podsumowanie przykładu 2

Podobnie jak w poprzednim przykładzie, nakład pracy programisty w celu zapewnienia kierowcy lepszych wskazówek jest bardzo niewielki, a korzyści w czasie oszczędzonego przez niego czasu można łatwo zmierzyć. Zrealizowaliśmy te prośby:

  • Żądanie do interfejsu Places API w celu znalezienia lotniska Heathrow
  • Żądanie do interfejsu Places API umożliwiające znalezienie wszystkich terminali w pobliżu współrzędnych lotniska Heathrow
  • Żądanie do interfejsu Directions API w celu uzyskania trasy do terminala 5

Podsumowanie

Jak widzisz, wysiłek programistyczny wymagany do zapewnienia usługi premium klientom podróżującym samochodem jest raczej niewielki i umożliwia łatwe zademonstrowanie, że bierzesz pod uwagę potrzeby klientów.

Na potrzeby programowania możesz używać wielu dostępnych bibliotek i narzędzi ułatwiających tworzenie usług dla klientów. Zapoznaj się z naszym publicznym repozytorium GitHub na potrzeby Google Maps Platform.

Następne działania

Główny autor

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