Access

 MS Access & Google Directions API

Google Directions API - response

Google Maps Directions API to aplikacja, która pozwala wyznaczyć dokładną trasę podróży od punktu początkowego do punktu końcowego przez zestaw punktów pośrednich tzw. „waypointy” z wykorzystaniem różnych środków komunikacji. Poszczególne punkty przekazujemy w postaci ciągu tekstowego (np. Lublin, PL), lub w postaci współrzędnych geograficznych.
Zwracana trasa (piesza lub samochodowa) opisana jest za pomocą tzw. wskaźników turn-by-turn, które informują o kolejnych manewrach jakie winniśmy wykonać, aby dotrzeć do punktu końcowego.
Informacje o trasie uzyskujemy za pomocą aplikacji Google Directions API przekazując zapytania, a właściwie żądania HTTP, w następującej postaci:
http://maps.googleapis.com/maps/api/directions/output?parameters

Odpowiedzi zwracane przez Google Directions API


Odpowiedzi na żądanie HTTP są zwracane w formacie przekazanym w argumencie output w adresie URL.
json: dane zwracane będą w tekstowym formacie JSON (JavaScript Object Notation).
xml: dane zwracane będą w tekstowym formacie XML (Extensible Markup Language).
Zwracany dokument XML składa się z elementu głównego <DirectionsResponse>, który zawsze zawiera element najwyższego poziomu o nazwie <status>, a przy powodzeniu żądania HTTP, co najmniej jeden element o nazwie <route>:
<status>
zawiera metadane o wyniku żądania HTTP. Kody wyniku znajdują się poniżej:
 
OK
Żądanie HTTP zwróciło poprawny wynik.
NOT_FOUND
Punktowi startowemu, docelowemu lub punktom pośrednim, określonym w wejściowym żądaniu, nie można przydzielić współrzędnych geograficznych.
ZERO_RESULTS
Nie można znaleźć trasy pomiędzy punktem startowym, a docelowym.
MAX_WAYPOINTS_EXCEEDED
Żądanie zawiera zbyt wiele punktów pośrednich. Maksymalna liczba punktów pośrednich wynosi 8, bez punktu startowego i docelowego. Google Maps API dla użytkowników bissnesowych obsługuje żądania zawierające maksymalnie 23 punkty pośrednie.
INVALID_REQUEST
Żądanie jest nieprawidłowe.
OVER_QUERY_LIMIT
W dozwolonym okresie czasu serwer otrzymał zbyt wiele żądań.
REQUEST_DENIED
Serwer odmawia wykonania usługi 'Directions' przez Twoją aplikację.
UNKNOWN_ERROR
Żądanie nie może być obsłużone z powodu błędu serwera. Spróbuj jeszcze raz.
<route>
zawiera dane jednej trasy, począwszy od punkty startowego do punktu docelowego. Każdy element <route> może składać się z jednego lub więcej elementów <leg>, zależnie od tego, czy zostały określone punkty pośrednie („waypinty”). Element <route> zawiera również prawa autorskie i ostrzeżenia, które muszą być widoczne wraz z informacjami o trasie. Każdy element <route> może zawierać następujące pola (dzieci):
 
summary
zawiera krótki opis tekstowy trasy wraz z nazwą odróżniającą ją od innych tras alternatywnych.
leg
zawiera informacje o poszczególnych odcinkach trasy, pomiędzy kolejnymi dwoma punktami w obrębie danej trasy. Trasa bez punktów pośrednich będzie zawierała dokładnie jeden element <leg>. Każdy element <leg> zawiera szereg elementów <step>. Każdy element <leg> może zawierać następujące pola
 
step
zawiera informacje o poszczególnych etapach trasy.
 
travel_mode
sposób przemieszczania się na etapie trasy określony w parametrze mode: driving (samochód), walking (pieszo), dodatkowo na terenie USA bicycling (rower).
start_location
współrzędne geograficzne początkowego punktu etapu. Współrzędne mogą nieco różnić się od oryginalnych, np. wybrano tryb przemieszczania się samochodem, a przekazano punkt nie znajdujący się na drodze.
 
lat- szerokość geograficzna
lng- długość geograficzna
end_location
współrzędne geograficzne końcowego punktu etapu. Współrzędne mogą nieco różnić się od oryginalnych, np. wybrano tryb przemieszczania się samochodem, a przekazano punkt nie znajdujący się na drodze.
 
lat- szerokość geograficzna
lng- długość geograficzna
polyline
rodzic elementu points
 
points
zawiera zakodowane punkty, które tworzą przybliżony obraz trasy etapu.
duration
czas przebycia etapu w sposób określony przez parametr mode, zawiera następujące elementy:
 
value
całkowity czas przebycia etapu, wyrażony w [sekundach].
text
tekstowa reprezentacja czasu potrzebnego na przebycie etapu, wyrażona w [godz.] i [min].
Jeżeli czas przebycia etapu nie zostanie wyliczony, elementy te nie będą występowały.
html_instructions
zawiera instrukcje dotyczące przemieszczania się po trasie etapu, przedstawione jako sformatowany ciąg tekstowy HTML
distance
całkowitą długość etapu, zawiera następujące elementy:
 
value
całkowita długość etapu wyrażona w [metrach], bez względu na  [kilometrywartość parametru units przekazanego w żądaniu.
text
tekstowa reprezentacja całkowitej długości etapu, wyrażona w jednostkach domyślnych. Wartość parametru units=metric/imperial określa, jakie jednostki mają być stosowane: metryczne [kilometry / metry], czy imperialne [mile / stopy].
Jeżeli odległość etapu nie zostanie wyliczona, elementy te nie będą występowały.
duration
czas przebycia odcinka w sposób określony przez parametr mode, zawiera następujące elementy:
 
value
całkowity czas przebycia odcinka, wyrażony w [sekundach].
text
tekstowa reprezentacja czasu potrzebnego na przebycie odcinka, wyrażona w [godz.] i [min].
Jeżeli czas przebycia odcinka nie zostanie wyliczony, elementy te nie będą występowały.
distance
całkowitą długość odcinka, zawiera następujące elementy:
 
value
całkowita długość odcinka wyrażona w [metrach], bez względu na wartość parametru units przekazanego w żądaniu.
text
tekstowa reprezentacja całkowitej długości odcinka, wyrażona w jednostkach domyślnych. Wartość parametru units=metric/imperial określa, jakie jednostki mają być stosowane: metryczne [kilometry / metry], czy imperialne [mile / stopy].
Jeżeli odległość odcinka nie zostanie wyliczona, elementy te nie będą występowały.
start_location współrzędne geograficzne początkowego punktu odcinka. Współrzędne mogą nieco różnić się od oryginalnych, np. wybrano tryb przemieszczania się samochodem, a przekazano punkt nie znajdujący się na drodze.
 
lat- szerokość geograficzna
lng- długość geograficzna
end_location
współrzędne geograficzne końcowego punktu odcinka. Współrzędne mogą nieco różnić się od oryginalnych, np. wybrano tryb przemieszczania się samochodem, a przekazano punkt nie znajdujący się na drodze.
 
lat- szerokość geograficzna
lng- długość geograficzna
start_address
czytelny adres (zwykle ulica, kod pocztowy miasto, kraj) odnoszący się do punktu startowego odcinka trasy.
end_address
czytelny adres (zwykle ulica, kod pocztowy miasto, kraj) odnoszący się do punktu końcowego odcinka trasy.
overview_polyline
zawiera zakodowane punkty, które tworzą przybliżony obraz trasę.
waypoint_index
kolejne elementy zawierają indeksy tablicy przekazanych punktów pośrednich („waypointów”). Jeżeli w żądaniu HTTP został przekazany argument optimize:true, to wartości elementów <waypoint_index> wskazują jak została zoptymalizowana kolejność punktów na trasie.
bounds
zawiera współrzędne geograficzne okna podglądu obszaru mapy zawierającego wytyczoną trasę.
 
southwest
zawiera współrzędne geograficzne południowo-zachodniego narożnika okna podglądu.
 
lat- szerokość geograficzna
lng- długość geograficzna
northeast
zawiera współrzędne geograficzne północno-wschodniego narożnika okna podglądu.
 
lat- szerokość geograficzna
lng- długość geograficzna
copyrights
informacje o prawach autorskich, które należy wyświetlić użytkownikowi
warnings
ostrzeżenia, które należy wyświetlić użytkownikowi