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.
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).
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®ion=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.
|
|
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®ion=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 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
"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®ion=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).
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
- Nawigacja w budynku i na zewnątrz
- Możliwość sprawdzania poprawności lokalizacji za pomocą Map Google
Główny autor
Mikko Toivanen | Inżynier rozwiązań Google Maps Platform