Aby wyznaczyć trasę, należy określić co najmniej jej lokalizacje miejsce wylotu i cel podróży. Określasz je jako punkty pośrednie na .
Poza miejscem wylotu i przylotem można określić różne typy punkty pośrednie oraz sposoby obsługi punktów pośrednich na trasie. Więcej informacji oraz Przykłady można znaleźć w tych tematach:
- Określanie kierunku i strony drogi
- Określanie pośrednich punktów pośrednich
- Ustawianie przystanku na trasie
- Ustawianie punktu trasy, którą trzeba przejść
- Optymalizowanie kolejności przystanków na trasie
Określ lokalizacje trasy
Wskazujesz lokalizację, tworząc punkt pośredni (REST). lub Waypoint (gRPC). W definicji punktu pośredniego, możesz określić lokalizację na jeden z następujących sposobów:
- Identyfikator miejsca (preferowany)
- Współrzędne szerokości i długości geograficznej
- Ciąg adresu („Kraków, IL” lub „Darwin, NT, Australia”)
- Kod Plus Code
Możesz w taki sam sposób określić lokalizacje wszystkich punktów pośrednich w żądaniu, lub można je mieszać. Można na przykład użyć współrzędnych szerokości i długości geograficznej dla początkowy punkt pośredni i użyj identyfikatora miejsca docelowego.
Aby zwiększyć wydajność i dokładność, użyj identyfikatorów miejsc zamiast szerokości i długości geograficznej współrzędnych ani ciągów znaków adresowych. Identyfikatory miejsc mają charakter jednoznacznie sprecyzowany i dostarczają korzyści związanych z geokodowaniem, takich jak punkty dostępu i zmienne ruchu. Ta pomogą uniknąć następujących sytuacji, które mogą wynikać z innych czynników określanie lokalizacji:
- Użycie współrzędnych geograficznych może spowodować, że lokalizacja do drogi znajdującej się najbliżej tych współrzędnych – co może nie być dojazd do nieruchomości, a nawet drogę, która można szybko lub bezpieczniej prowadzi do miejsca docelowego.
- Aby można było przekonwertować ciągi tekstowe z adresem, muszą zostać najpierw objęte geokodowaniem przez interfejs Routes API. długości i szerokości geograficznej, zanim program będzie mógł wyznaczyć trasę. Ta konwersja może mieć wpływ na skuteczność.
Podaj lokalizację jako identyfikator miejsca
Możesz użyć identyfikatora miejsca, aby określić lokalizację punktu pośredniego. Ponieważ szerokości i długości geograficznej są przyciągnięte do dróg, identyfikator miejsca zapewnia w pewnych okolicznościach lepsze wyniki.
Pobierz identyfikatory miejsc z interfejsu Geocoding API oraz Places API (w tym Places API) Autouzupełnianie). Więcej informacji o identyfikatorach miejsc znajdziesz w Omówienie identyfikatora miejsca.
Następujący przykład pokazuje użycie właściwości placeId
do przekazywania identyfikatora miejsca dla obydwu
origin
i destination
:
{ "origin":{ "placeId": "ChIJayOTViHY5okRRoq2kGnGg8o" }, "destination":{ "placeId": "ChIJTYKK2G3X5okRgP7BZvPQ2FU" }, ... }
Określanie lokalizacji za pomocą współrzędnych geograficznych
Aby określić lokalizację w punkcie pośrednim, podaj Lokalizacja (REST) lub Lokalizacja(gRPC) przy użyciu funkcji długości i szerokości geograficznej.
Na przykład określ punkt pośredni na trasie origin
i destination
przy użyciu współrzędnych latitude
i longitude
:
{ "origin":{ "location":{ "latLng":{ "latitude": 37.419734, "longitude": -122.0827784 } } }, "destination":{ "location":{ "latLng":{ "latitude": 37.417670, "longitude": -122.079595 } } }, ... }
Określanie lokalizacji za pomocą ciągu znaków adresu
Ciągi adresów to adresy literałów reprezentowane przez ciąg znaków (np. „1600” Amphitheatre Parkway, Mountain View, CA”). Geokodowanie to proces konwertowanie ciągu adresu na współrzędne geograficzne (na przykład szerokość geograficzna 37,423021 i długość geograficzna -122,083739).
Gdy przekażesz ciąg adresu jako lokalizację punktu pośredniego, interfejs Routes API wewnętrznie geokoduje ciąg znaków, aby przekonwertować go na szerokość i długość geograficzną. .
Na przykład, aby wyznaczyć trasę, należy określić punkt pośredni na trasie origin
oraz
destination
za pomocą ciągów adresu:
{ "origin":{ "address": "1600 Amphitheatre Parkway, Mountain View, CA" }, "destination":{ "address": "450 Serra Mall, Stanford, CA 94305, USA" }, ... }
W tym przykładzie interfejs Routes API koduje geokody obu adresów, aby je przekonwertować. szerokości i długości geograficznej.
Jeśli wartość adresu jest niejednoznaczna, interfejs Routes API może wywołać wyszukiwanie w celu oddzielać je od podobnych adresów. Na przykład „Ulica 1.” może być pełna wartość lub częściowa wartość „pierwszej ulicy na wsch.” lub „1st St SE”. Ten wynik może się różnić od zwracanego przez interfejs Geocoding API. Możesz uniknąć możliwe błędne interpretacje identyfikatorów miejsc.
Ustawianie regionu adresu
Jeśli jako lokalizację punktu pośredniego przekażesz niepełny ciąg znaków, interfejs API może użyć nieprawidłowych współrzędnych geograficznych. Na przykład: wysyłasz żądanie z wyznaczonym miejscem wylotu „Toledo” i miejscem docelowym „Madryt”:
{ "origin":{ "address": "Toledo" }, "destination":{ "address": "Madrid" }, "travelMode": "DRIVE" }
W tym przykładzie „Toledo” jest interpretowane jako miasto w stanie w Ohio w Stanach Zjednoczonych, nie w Hiszpanii. Dlatego żądanie zwraca pusta tablica, co oznacza, że nie ma tras:
{ [] }
Możesz skonfigurować interfejs API tak, aby zwracał wyniki stronnicze w określonym regionie przez
w tym parametru regionCode
. Ten parametr określa kod regionu jako
ccTLD („domena najwyższego poziomu”)
dwuznakową. Większość kodów ccTLD jest identyczna z kodami ISO 3166-1, z kilkoma wyjątkami. Na przykład domena ccTLD Wielkiej Brytanii to „uk”.
(co.uk), natomiast kod ISO 3166-1 to „gb”. (technicznie dla podmiotu „
Wielkiej Brytanii i Irlandii Północnej”).
Zapytanie o trasę dojazdu do „Toledo” do „Madrytu” obejmujący regionCode
zwraca odpowiednie wyniki, ponieważ „Toledo” jest interpretowany jako
miasto w Hiszpanii:
{ "origin":{ "address": "Toledo" }, "destination":{ "address": "Madrid" }, "travelMode": "DRIVE", "regionCode": "es" }
Odpowiedź zawiera teraz trasę z Toledo w Hiszpanii do Madryt, Hiszpania:
{ "routes": [ { "distanceMeters": 75330, "duration": "4137s", ... } ] }
Podaj lokalizację za pomocą kodu Plus Code
Wiele osób nie ma dokładnego adresu, co utrudnia im pracę z dostawą. Osoby mające adres mogą też akceptować dostawy do bardziej konkretnych lokalizacji, takich jak wejście z tyłu czy załadunek zadoku.
Kody Plus Code są jak adresy osób lub miejsc, które nie mają rzeczywisty adres. Zamiast adresów z nazwami ulic i numerami, kody Plus Code są oparte na współrzędnych geograficznych i są wyświetlane jako liczby oraz liter.
Firma Google opracowała kody Plus Code. zapewnić korzyści związane z adresami wszystkim i wszystkim. Plus Code to zakodowany odniesienie do lokalizacji na podstawie współrzędnych geograficznych, które przedstawia obszar: 1/8000 stopnia na 1/8000 stopnia (około 14 m x 14 m na równiku) lub mniejszą. Zamiast kodu Plus Code możesz użyć kodów Plus Code adresów w miejscach, w których ich nie ma lub gdzie budynki nie są nie są numerowane ani nie mają nazwy ulic.
Kody Plus Code muszą być sformatowane jako kod globalny lub złożony:
- Kod globalny składa się z 4-znakowego numeru kierunkowego i 6 znaków
znaku lub dłuższego kodu lokalnego.
Na przykład w przypadku adresu „Emilii Plater 23” Mountain View, CA”, kod globalny to „849V” a kod lokalny to „CWC8+R9”. Następnie należy użyć całego 10-znakowego kodu Plus Code, aby określić jako wartość „849VCWC8+R9”.
- Kod złożony składa się z co najmniej 6 znaków
kod lokalny w połączeniu z konkretną lokalizacją.
Na przykład adres „450 Serra” Mall, Stanford, CA 94305, USA” ma lokalny kod „CRHJ+C3”. W przypadku związku należy połączyć kod lokalny z miastem, województwem, kodem pocztowym i krajem. adresu w formacie „CRHJ+C3 Stanford, CA 94305, USA”.
Na przykład oblicz trasę, podając punkt kontrolny dla trasy
origin
idestination
za pomocą kodów plus:{ "origin":{ "address": "849VCWC8+R9" }, "destination":{ "address": "CRHJ+C3 Stanford, CA 94305, USA" }, "travelMode": "DRIVE" }
Kody Plus Code są obsługiwane w interfejsach API Google Maps Platform, w tym: Autouzupełnianie miejsc, Szczegóły miejsca, Directions API oraz Geocoding API. Można na przykład użyć interfejsu Geocoding API do odwrotnego geokodowania lokalizację określoną za pomocą współrzędnych geograficznych, aby określić kod Plus Code lokalizacji.