Żądanie
Żądanie do interfejsu Geocoding API ma następującą postać:
https://maps.googleapis.com/maps/api/geocode/outputFormat?parameters
gdzie outputFormat
może być jedną z tych wartości:
json
(zalecane) wskazuje dane wyjściowe w formacie JSON (JavaScript Object Notation); lubxml
oznacza dane wyjściowe w formacie XML
Wymagany jest protokół HTTPS.
Niektóre parametry są wymagane, a inne opcjonalne. Zgodnie ze standardem w adresach URL
Parametry są oddzielane znakiem ampersand (&
).
W pozostałej części tej strony opisaliśmy geokodowanie odwrotne geokodowanie, ponieważ dla każdego typu żądania są dostępne różne parametry.
Parametry geokodowania (wyszukiwanie szerokości i długości geograficznej)
Parametry wymagane w żądaniu geokodowania:
address
– adres lub kod plus, który chcesz poddać geokodowaniu. Podaj adresy zgodnie z formatem wykorzystywane przez krajowy urząd pocztowy w danym kraju. Dodatkowe informacje elementów adresowych, takich jak nazwy firm i numer lokalu, lokalu lub piętra powinno być pomijane. Elementy adresu ulicy powinny być rozdzielane spacjami (tutaj zapisane w sposób ujęty w składnie adresu URL:%20
): Sformatuj kody plus zgodnie z poniższym opisem (znaki plusa są zmieniane w adres URL jakoaddress=24%20Sussex%20Drive%20Ottawa%20ON
%2B
, a spacje zawierają kod%20
ze znakami zmiany znaczenia dla adresu URL):- kod globalny to 4-znakowy kod kierunkowy i co najmniej 6 znaków
kod lokalny (849VCWC8+R9 to
849VCWC8%2BR9
). - Kod złożony to kod lokalny o długości co najmniej 6 znaków z wyraźną lokalizacją (CWC8+R9 Mountain View, CA, USA to
CWC8%2BR9%20Mountain%20View%20CA%20USA
).
--OR--
components
– filtr komponentów z elementami. są oddzielone pionową kreską (|
). Filtr komponentów też jest akceptowany. jako parametr opcjonalny, jeśli podanoaddress
. Każdy element w filtrze komponentów składa się z elementucomponent:value
i całkowicie ogranicza wyniki od geokodera. Zobacz więcej informacji: filtrowania komponentów poniżej.- kod globalny to 4-znakowy kod kierunkowy i co najmniej 6 znaków
kod lokalny (849VCWC8+R9 to
key
– klucz interfejsu API Twojej aplikacji. Ten klucz identyfikuje Twoją aplikację na potrzeby zarządzania limitem. Dowiedz się, jak uzyskaj klucz.
Zapoznaj się z najczęstszymi pytaniami na temat: dodatkowe wskazówki.
Opcjonalne parametry w żądaniu Geocoding:
bounds
– ramka ograniczająca widocznego obszaru. w ramach których można bardziej eksponować wyniki geokodowania. Ten parametr będzie miał wpływ na wyniki geokodowania, ale nie będzie ich w pełni ograniczał. (Więcej więcej informacji znajdziesz w sekcji Promowanie widocznego obszaru poniżej).language
– język, w którym ma być używany wyniki.- Zobacz listę obsługiwanych funkcji języki. Google często aktualizuje obsługiwane języki, więc może nie być wyczerpująca.
- Jeśli parametr
language
nie zostanie podany, geokoder spróbuje użyć preferowanego języka określonego w nagłówkuAccept-Language
lub domyślnego języka domeny, z której wysłano żądanie. - Geokoder stara się podać adres, który łatwy do odczytania zarówno przez użytkownika, jak i lokalnie. Aby to osiągnąć, zwraca adresy ulicy w języku lokalnym, transliterowane do postaci zrozumiałej dla użytkownika w odpowiednim języku. Wszystkie inne adresy są zwracane w preferencjach język. wszystkie komponenty adresu są zwracane w jednym języku, który jest wybierany z pierwszego komponentu.
- Jeśli nazwa nie jest dostępna w preferowanym języku, geokoder użyje jak najbliższe znaczeniem.
- Preferowany język ma niewielki wpływ na zestaw wyników, które zwracany przez interfejs API i kolejność ich zwrócenia. Geokoder różnie interpretuje skróty w zależności od takie jak skróty określające typy ulic lub synonimy, które mogą mogą być ważne w jednym języku, a w innym już nie. Na przykład: utca. tér to synonimy ulicy i kwadratu po węgiersku.
region
– kod regionu podany jako 2-znakowa wartość ccTLD („domena najwyższego poziomu”). Ten parametr będzie tylko wpływ, a nie na całkowite ograniczanie, wyników z geokodera. (Więcej więcej informacji znajdziesz w sekcji Promowanie według regionu poniżej). może też wpływać na wyniki na podstawie obowiązującego prawa.components
– filtr komponentów z elementami rozdzielonymi znakiem pionowym (|
). Filtr komponentów jest wymagany, jeśli żądanie nie zawiera znakuaddress
. Każdy element w filtrze komponentów składa się z elementucomponent:value
i całkowicie ogranicza wyniki od geokodera. Zobacz więcej informacji: filtrowania komponentów poniżej.extra_computations
– użyj tego parametru, aby określić parametr następujące dodatkowe funkcje w odpowiedzi:ADDRESS_DESCRIPTORS
– Zobacz deskryptory adresów.BUILDING_AND_ENTRANCES
– Zobacz wejścia i kontury budynków.
extra_computations
w żądaniu dla każdej funkcji, na przykład:extra_computations=ADDRESS_DESCRIPTORS&extra_computations=BUILDING_AND_ENTRANCES
Odpowiedzi
Odpowiedzi geokodowania są zwracane w formacie wskazanym przez flagę output
w żądaniu URL lub domyślnie w formacie JSON.
W tym przykładzie interfejs Geocoding API wysyła żądanie json
odpowiedź na pytanie dotyczące adresu „1600 Amphitheatre Parkway, Mountain View,
CA”.
To żądanie demonstruje użycie flagi output
JSON:
https://maps.googleapis.com/maps/api/geocode/json?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA&key=YOUR_API_KEY
To żądanie demonstruje użycie flagi output
XML:
https://maps.googleapis.com/maps/api/geocode/xml?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA&key=YOUR_API_KEY
Aby zobaczyć przykładowe odpowiedzi w formacie JSON i XML, kliknij karty poniżej.
JSON
{ "results": [ { "address_components": [ { "long_name": "1600", "short_name": "1600", "types": [ "street_number" ] }, { "long_name": "Amphitheatre Parkway", "short_name": "Amphitheatre Pkwy", "types": [ "route" ] }, { "long_name": "Mountain View", "short_name": "Mountain View", "types": [ "locality", "political" ] }, { "long_name": "Santa Clara County", "short_name": "Santa Clara County", "types": [ "administrative_area_level_2", "political" ] }, { "long_name": "California", "short_name": "CA", "types": [ "administrative_area_level_1", "political" ] }, { "long_name": "United States", "short_name": "US", "types": [ "country", "political" ] }, { "long_name": "94043", "short_name": "94043", "types": [ "postal_code" ] }, { "long_name": "1351", "short_name": "1351", "types": [ "postal_code_suffix" ] } ], "formatted_address": "1600 Amphitheatre Pkwy, Mountain View, CA 94043, USA", "geometry": { "location": { "lat": 37.4222804, "lng": -122.0843428 }, "location_type": "ROOFTOP", "viewport": { "northeast": { "lat": 37.4237349802915, "lng": -122.083183169709 }, "southwest": { "lat": 37.4210370197085, "lng": -122.085881130292 } } }, "place_id": "ChIJRxcAvRO7j4AR6hm6tys8yA8", "plus_code": { "compound_code": "CWC8+W7 Mountain View, CA", "global_code": "849VCWC8+W7" }, "types": [ "street_address" ] } ], "status": "OK" }
Pamiętaj, że odpowiedź JSON zawiera 2 elementy główne:
"status"
zawiera metadane dotyczące żądania. Zobacz Kody stanu poniżej."results"
zawiera tablicę danych adresowych z kodami geograficznymi oraz informacje geometryczne.
Zwykle zwracany jest tylko jeden wpis w tablicy "results"
dla argumentu
podczas wyszukiwania adresów, jednak geokoder może zwrócić kilka wyników,
są niejednoznaczne.
XML
<GeocodeResponse> <status>OK</status> <result> <type>street_address</type> <formatted_address>1600 Amphitheatre Pkwy, Mountain View, CA 94043, USA</formatted_address> <address_component> <long_name>1600</long_name> <short_name>1600</short_name> <type>street_number</type> </address_component> <address_component> <long_name>Amphitheatre Parkway</long_name> <short_name>Amphitheatre Pkwy</short_name> <type>route</type> </address_component> <address_component> <long_name>Mountain View</long_name> <short_name>Mountain View</short_name> <type>locality</type> <type>political</type> </address_component> <address_component> <long_name>Santa Clara County</long_name> <short_name>Santa Clara County</short_name> <type>administrative_area_level_2</type> <type>political</type> </address_component> <address_component> <long_name>California</long_name> <short_name>CA</short_name> <type>administrative_area_level_1</type> <type>political</type> </address_component> <address_component> <long_name>United States</long_name> <short_name>US</short_name> <type>country</type> <type>political</type> </address_component> <address_component> <long_name>94043</long_name> <short_name>94043</short_name> <type>postal_code</type> </address_component> <geometry> <location> <lat>37.4224428</lat> <lng>-122.0842467</lng> </location> <location_type>ROOFTOP</location_type> <viewport> <southwest> <lat>37.4212648</lat> <lng>-122.0856069</lng> </southwest> <northeast> <lat>37.4239628</lat> <lng>-122.0829089</lng> </northeast> </viewport> </geometry> <place_id>ChIJeRpOeF67j4AR9ydy_PIzPuM</place_id> <plus_code> <global_code>849VCWC8+X8</global_code> <compound_code>CWC8+X8 Mountain View, CA</compound_code> </plus_code> </result> </GeocodeResponse>
Pamiętaj, że odpowiedź XML składa się z jednego
<GeocodeResponse>
i 2 elementy najwyższego poziomu:
<status>
zawiera metadane żądania. Zobacz Kody stanu poniżej.- co najmniej 0 elementów
<result>
, z których każdy zawiera pojedynczy zbiór informacji o adresie z geokodowaniem i informacji o geometrii;
Odpowiedź XML jest znacznie dłuższa niż odpowiedź JSON. Dla:
dlatego zalecamy wybór formatu json
.
flagi wyjściowej, chyba że usługa z jakiegoś powodu wymaga xml
.
Ponadto przetwarzanie drzew XML wymaga pewnej ostrożności, dlatego należy odwoływać się
odpowiednich węzłów i elementów. Zobacz
Analiza pliku XML za pomocą XPath w celu uzyskania niektórych zalecanych wzorców projektowych do przetwarzania danych wyjściowych.
- Wyniki XML są zawijane w element główny
<GeocodeResponse>
. - W pliku JSON wpisy z większą liczbą elementów są oznaczone tablicami w liczbie mnogiej (
types
), a w pliku XML – elementami w liczbie pojedynczej (<type>
). - Puste elementy są wskazywane przez puste tablice w formacie JSON, ale przez brak
w kodzie XML. Odpowiedź, która nie generuje żadnych wyników, zwraca wartość pustą.
tablica
results
w formacie JSON, ale brak elementów<result>
w pliku XML, na przykład.
Kody stanu
Pole "status"
w obiekcie odpowiedzi geokodowania zawiera stan żądania i może zawierać informacje debugowania, które pomogą Ci ustalić, dlaczego geokodowanie nie działa. Pole "status"
może zawierać te wartości:
"OK"
oznacza, że nie wystąpiły błędy. adres został pomyślnie przeanalizowany i został zwrócony co najmniej jeden kod geograficzny."ZERO_RESULTS"
oznacza, że geokod został poprawnie użyty, ale nie zwrócił żadnych wyników. Może się tak zdarzyć, jeśli geokoder został przekazany do nieistniejącego elementuaddress
.OVER_DAILY_LIMIT
oznacza dowolne z tych wartości:- Brak klucza interfejsu API lub jest on nieprawidłowy.
- Płatności nie zostały włączone na Twoim koncie.
- Przekroczono nałożony samodzielnie limit wykorzystania.
- Podana forma płatności straciła ważność (na przykład ważność karty kredytowej wygasła).
Przeczytaj Najczęstsze pytania dotyczące Map, aby dowiedzieć się więcej. jak to naprawić.
"OVER_QUERY_LIMIT"
oznacza, że limit został przekroczony."REQUEST_DENIED"
oznacza, że prośba została odrzucona."INVALID_REQUEST"
oznacza zwykle, że brakuje zapytania (address
,components
lublatlng
)."UNKNOWN_ERROR"
oznacza, że nie udało się zrealizować żądania przetworzono z powodu błędu serwera. Żądanie może zostać zrealizowane, jeśli: spróbuj jeszcze raz.
Komunikaty o błędach
Jeśli geokoder zwróci kod stanu inny niż OK
, w obiekcie odpowiedzi geokodowania może się pojawić dodatkowe pole error_message
. To pole zawiera więcej
szczegółowe informacje o przyczynach związanych z określonym kodem stanu.
Wyniki
Gdy geokoder zwraca wyniki, umieszcza je w tablicy results
(w formacie JSON). Nawet jeśli geokoder nie zwróci żadnych wyników (np. jeśli adres nie istnieje), nadal nie zostanie znaleziony.
zwraca pustą tablicę results
. (Odpowiedzi XML zawierają zero lub więcej wartości
<result>
elements.)
Typowy wynik zawiera te pola:
- Tablica
types[]
wskazuje typ zwróconej wynik. Ta tablica zawiera zestaw zero lub więcej tagów identyfikujących typ funkcji zwracanych w wyniku. Na przykład geokod „Chicago” zwraca „locality”, co oznacza, że „Chicago” to miasto, a także „political”, co oznacza, że jest to jednostka polityczna. Komponenty mogą mieć puste typy , gdy nie ma znanych typów dla danego składnika adresu. W razie potrzeby interfejs API może dodać nowe wartości typów. Więcej informacji znajdziesz w artykule Typy adresów i ich elementy. formatted_address
to ciąg znaków zawierający zrozumiały dla człowieka tej lokalizacji.Adres ten jest często odpowiednikiem adresu pocztowego. Pamiętaj, że niektóre takich jak Wielka Brytania, nie zezwalają na dystrybucję prawdziwego adresów pocztowych ze względu na ograniczenia licencyjne.
Sformatowany adres składa się logicznie z jednego lub wielu adresów . Na przykład adres „111 8th Avenue, Nowy Jork, NY” składa się z następujących komponentów: „111” (numer domu), „Ósma Aleja” (trasa), „Nowy Jork” (miasto) i „NY” (stan w USA).
Nie analizuj sformatowanego adresu automatycznie. Zamiast tego użyj poszczególnych elementów adresu, które są zawarte w odpowiedzi interfejsu API oprócz sformatowanego pola adresu.
address_components[]
to tablica zawierająca oddzielne które mają zastosowanie do tego adresu.Każdy komponent adresu zawiera zwykle te pola:
types[]
to tablica wskazująca typ adresu. Zobacz listę obsługiwanych typów.long_name
to pełny opis lub nazwa elementu komponentem adresowym zwracanym przez Geocoder.short_name
to skrócona nazwa tekstowa adresu jeśli jest dostępny. Na przykład składnik adresu dla stanu obszaru Alaski może miećlong_name
o wartości „Alaska” ishort_name
pozycji „Akademia” za pomocą dwuliterowego skrótu pocztowego.
Pamiętaj o tych informacjach dotyczących tablicy
address_components[]
:- Tablica elementów adresu może zawierać więcej elementów niż
formatted_address
. - Tablica niekoniecznie zawiera wszystkie podmioty polityczne, które zawierają adres, z wyjątkiem tych, które są uwzględnione w tablicy
formatted_address
. Aby pobrać wszystkie jednostki polityczne zawierających konkretny adres, należy zastosować odwrotne geokodowanie, przesyłając szerokość i długość geograficzną adresu jako parametr żądania. - Nie ma gwarancji, że format odpowiedzi będzie taki sam w przypadku różnych żądań. W szczególności chodzi o liczbę
address_components
zmienia się w zależności od żądanego adresu i może się zmieniać pod tym samym adresem. Komponent może zmienić pozycję w tablicy. Typ komponentu może się zmienić. Konkretnym komponentem może być których brakuje w późniejszej odpowiedzi.
Aby obsługiwać tablicę komponentów, musisz przeanalizować odpowiedź i wybieraj odpowiednie wartości za pomocą wyrażeń. Zapoznaj się z przetwarzaniem odpowiedzi.
postcode_localities[]
to tablica oznaczająca do 100 miejscowości podane w kodzie pocztowym. Ten parametr jest widoczny tylko wtedy, gdy wynik to kod pocztowy który zawiera wiele lokalizacji.geometry
zawiera te informacje:location
zawiera szerokość geograficzną i długość geograficzną z geokodowaniem. Normalne wyszukiwań adresów, to pole jest zwykle najważniejsze.location_type
przechowuje dodatkowe dane o określonej lokalizacji. obecnie obsługiwane są następujące wartości:"ROOFTOP"
oznacza, że zwrócony wynik to dokładny geokod, dla którego mamy informacje o lokalizacji dokładne do adresu ulicy."RANGE_INTERPOLATED"
oznacza że zwracany wynik odzwierciedla przybliżenie (zwykle na drodze) interpolowane między dwoma dokładnymi punktami (np. skrzyżowaniami). Interpolowane wyniki są zwykle zwracane, gdy kody geograficzne na dachu budynku są niedostępne dla adresu ulicznego."GEOMETRIC_CENTER"
oznacza, że zwrócony wynik jest środkiem geometrycznym wyniku, takiego jak linia łamana (na przykład ulica) lub wielokąt (region)."APPROXIMATE"
oznacza, że zwracany wynik jest przybliżony.
viewport
zawiera zalecany widoczny obszar wyświetlania zwrócony wynik, określony jako dwie wartości szerokości i długości geograficznej,definiującesouthwest
inortheast
róg ramki ograniczającej widoczny obszar. Ogólnie parametr jest używany do umieszczania wyniku w ramce podczas wyświetlania go użytkownikowi.- Funkcja
bounds
(opcjonalnie zwrócona) przechowuje ramkę ograniczającą który może w całości zawierać zwrócony wynik. Pamiętaj, że te granice mogą nie odpowiadać zalecanej przez Google przeglądarce. (Na przykład San Francisco obejmuje Wyspy Farallona, technicznie stanowią część miasta, ale prawdopodobnie nie powinny być wyświetlane na widocznym obszarze).
-
plus_code
(zobacz Otwórz kod lokalizacji i kody plus) to zakodowany odniesienie do lokalizacji na podstawie współrzędnych geograficznych, przedstawia obszar: 1/8000 stopnia na 1/8000 stopnia (około 14 m x 14 m na równiku) lub mniejszą. Kody Plus Code mogą zastępować adresy w miejscach, w których nie ma adresów (gdzie budynki nie są numerowane, a ulice nie mają nazw). Interfejs API nie zawsze zwraca kodów plus.Gdy usługa zwróci kod plus, będzie on sformatowany jako kod globalny i kod złożony:
global_code
to 4-znakowy numer kierunkowy i co najmniej 6-znakowy kod lokalny (849VCWC8+R9).compound_code
to co najmniej 6-znakowy kod lokalny z konkretną lokalizacją (CWC8+R9, Mountain View, Kalifornia, USA). Nie analizuj ich automatycznie.
-
partial_match
oznacza, że geokoder nie zwrócił dokładnego dopasowania do pierwotnego żądania, ale udało mu się dopasować część żądanego adresu. Możesz sprawdzić pierwotną prośbę pod kątem błędów ortograficznych i/lub jest niepełny adres.Dopasowania częściowe najczęściej pojawiają się w przypadku adresów, które nie istnieją na obszarze objętym zgłoszeniem. Częściowe dopasowania mogą również zostać zwracany, gdy żądanie pasuje do co najmniej 2 lokalizacji w tej samej miejscowości. Na przykład wyszukiwanie „Hillpar St, Bristol, UK” zwróci dopasowanie częściowe zarówno do Henry Street, jak i Henrietta Street. Pamiętaj, że jeśli żądanie zawiera parametr błędnie zapisany adres, usługa geokodowania może zaproponować alternatywę adresu. Sugestie wywołane w ten sposób zostaną również oznaczone jako częściowe dopasowania.
place_id
to unikalny identyfikator których można używać z innymi interfejsami API Google. Możesz na przykład: użyj funkcjiplace_id
w Żądanie Places API do pobrania informacje o lokalnej firmie, takie jak numer telefonu, godziny otwarcia, opinie i inne treści. Zapoznaj się z omówieniem identyfikatora miejsca.
Typy adresów i typy komponentów adresu
Tablica types[]
w wyniku wskazuje
typ adresu. Przykłady typów adresów to: ulicę i numer,
kraju lub podmiotu politycznego. W elementach address_components[]
znajduje się też tablica types[]
, która wskazuje typ poszczególnych części adresu. Może to być na przykład numer domu lub kraj. (Poniżej znajduje się pełna lista
types.) Adresy mogą mieć kilka rodzajów. Typy mogą być uznawane za „tagi”.
Na przykład wiele miast jest oznaczonych tagami political
oraz
Typ: locality
.
Geokoder obsługuje i zwraca poniższe typy w obu tablice typu adresu i typu komponentu adresu:
street_address
wskazuje dokładny adres.route
oznacza trasę z nazwą (np. „E101”).intersection
oznacza większe przecięcie, zwykle składające się z dwóch dróg głównych.political
oznacza podmiot polityczny. Zwykle ten typ wskazuje poligon administracji cywilnej.country
oznacza krajowy podmiot polityczny i jest zwykle jest to najwyższy typ kolejności zwracany przez Geocoder.administrative_area_level_1
oznacza cywilny pierwszego rzędu poniżej poziomu kraju. W Stanach Zjednoczonych są to stany. Nie we wszystkich krajach na poziomach administracyjnych. W większości przypadków parametr administracyjny_area_level_1 krótkie nazwy będą dokładnie odpowiadać podziałom zgodnym z normą ISO 3166-2 oraz innymi powszechnymi publikowane listy; Nie jest to jednak gwarantowane, ponieważ wyniki geokodowania na podstawie różnych sygnałów i danych o lokalizacji.administrative_area_level_2
oznacza typ cywilny drugiego rzędu. poniżej poziomu kraju. W Stanach Zjednoczonych te poziomy administracyjne to hrabstwa. Nie we wszystkich krajach na poziomach administracyjnych.administrative_area_level_3
oznacza rodzaj cywilny trzeciego rzędu. poniżej poziomu kraju. Ten typ oznacza niewielką jednostkę cywilną. Nie we wszystkich krajach obowiązują te poziomy administracyjne.administrative_area_level_4
oznacza cywilny rządu czwartego rzędu poniżej poziomu kraju. Ten typ oznacza niewielką jednostkę cywilną. Nie we wszystkich krajach obowiązują te poziomy administracyjne.administrative_area_level_5
oznacza cywilny piątego rzędu poniżej poziomu kraju. Ten typ wskazuje mniejszy podział administracyjny. Nie we wszystkich krajach obowiązują te poziomy administracyjne.administrative_area_level_6
oznacza cywilny szóstego rzędu. poniżej poziomu kraju. Ten typ oznacza niewielką jednostkę cywilną. Nie wszystkie kraje mają te poziomy administracyjne.administrative_area_level_7
oznacza cywilny siódmego rzędu. poniżej poziomu kraju. Ten typ oznacza niewielką jednostkę cywilną. Nie we wszystkich krajach obowiązują te poziomy administracyjne.colloquial_area
oznacza często używaną nazwę alternatywną. danego podmiotu.locality
oznacza miasto lub miejscowości, na terenie których funkcjonuje podmiotu zabezpieczeń.sublocality
oznacza podmiot cywilny pierwszego rzędu pod lokalizacji. W przypadku niektórych lokalizacji mogą pojawić się dodatkowe typy lokalizacji:sublocality_level_1
dosublocality_level_5
. Każdy poziom podrejonu jest podmiotem cywilnym. Większe liczby oznaczają mniejsze obszar geograficzny.neighborhood
oznacza nazwę sąsiedztwapremise
wskazuje nazwaną lokalizację, zwykle budynek lub zbiór budynków o wspólnej nazwiesubpremise
oznacza element pierwszego rzędu pod nazwanym lokalizacji, zwykle pojedynczego budynku w obrębie zespołu budynków imię i nazwiskoplus_code
oznacza zakodowane odniesienie do lokalizacji, pochodne od szerokości i długości geograficznej. Kody Plus Code mogą zastępować adresy ulicy w miejscach, w których ich nie ma (gdzie budynki nie mają numerów lub ulice nie mają nazw). Zobacz https://plus.codes. .postal_code
oznacza kod pocztowy używany do adresowania. na terenie tego kraju.natural_feature
oznacza ważny obiekt naturalny.airport
oznacza lotnisko.park
oznacza nazwany park.point_of_interest
wskazuje nazwane miejsce docelowe. Takie miejsca to zazwyczaj dobrze widoczne obiekty lokalne, które nie zawsze w innej kategorii, takiej jak „Empire State Building” czy „wieża Eiffla”.
Pusta lista typów oznacza, że nie ma znanych typów dla danego składnika adresu, np. Lieu-dit we Francji.
Oprócz tego składniki adresu mogą zawierać wymienione tu typy. Ta lista jest nie jest wyczerpujący i może ulec zmianie.
floor
wskazuje piętro w adresie budynku.establishment
zwykle oznacza miejsce, w którym nie ma jeszcze została sklasyfikowana.landmark
wskazuje miejsce w pobliżu, które jest używane jako odniesienie. i ułatwi nawigację.point_of_interest
wskazuje nazwane miejsce docelowe.parking
oznacza parking.post_box
oznacza konkretną skrzynkę pocztową.postal_town
oznacza grupę obszarów geograficznych, takich jaklocality
isublocality
, używane w adresach pocztowych w niektórych krajach.room
wskazuje salę w danym budynku.street_number
wskazuje dokładny numer domu.bus_station
,train_station
itransit_station
wskazują lokalizację autobusu, pociągu lub środka transportu publicznego przystanek.
Promowanie widocznego obszaru
W żądaniu geokodowania możesz poprosić usługę geokodowania o preferowanie wyników w danym widoku (wyrażonym jako ograniczony obszar). Możesz to zrobić w adresie URL żądania, ustawiając parametr bounds
.
Parametr bounds
określa współrzędne szerokości i długości geograficznej.
południowego i północno-wschodniego narożnika tej ramki ograniczającej za pomocą linii
(|
) do rozdzielenia współrzędnych.
Na przykład kod geograficzny „Waszyngton”. zwraca zwykle stan USA Waszyngton:
Prośba:
https://maps.googleapis.com/maps/api/geocode/json?address=Washington&key=YOUR_API_KEY
Odpowiedź:
{
"results" : [
{
"address_components" : [
{
"long_name" : "Washington",
"short_name" : "WA",
"types" : [ "administrative_area_level_1", "political" ]
},
{
"long_name" : "United States",
"short_name" : "US",
"types" : [ "country", "political" ]
}
],
"formatted_address" : "Washington, USA",
"geometry" : {
"bounds" : {
"northeast" : {
"lat" : 49.0024442,
"lng" : -116.91558
},
"southwest" : {
"lat" : 45.543541,
"lng" : -124.8489739
}
},
"location" : {
"lat" : 47.7510741,
"lng" : -120.7401385
},
"location_type" : "APPROXIMATE",
"viewport" : {
"northeast" : {
"lat" : 49.0024442,
"lng" : -116.91558
},
"southwest" : {
"lat" : 45.543541,
"lng" : -124.8489739
}
}
},
"place_id" : "ChIJ-bDD5__lhVQRuvNfbGh4QpQ",
"types" : [ "administrative_area_level_1", "political" ]
}
],
"status" : "OK"
}
Dodanie argumentu bounds
definiującego ramkę ograniczającą
północno-wschodnią część USA daje wynik tego geokodu, który zwraca miasto
Waszyngton, D.C:
Prośba:
https://maps.googleapis.com/maps/api/geocode/json?address=Washington&bounds=36.47,-84.72%7C43.39,-65.90&key=YOUR_API_KEY
Odpowiedź:
{
"results" : [
{
"address_components" : [
{
"long_name" : "Washington",
"short_name" : "Washington",
"types" : [ "locality", "political" ]
},
{
"long_name" : "District of Columbia",
"short_name" : "District of Columbia",
"types" : [ "administrative_area_level_2", "political" ]
},
{
"long_name" : "District of Columbia",
"short_name" : "DC",
"types" : [ "administrative_area_level_1", "political" ]
},
{
"long_name" : "United States",
"short_name" : "US",
"types" : [ "country", "political" ]
}
],
"formatted_address" : "Washington, DC, USA",
"geometry" : {
"bounds" : {
"northeast" : {
"lat" : 38.9958641,
"lng" : -76.90939299999999
},
"southwest" : {
"lat" : 38.7916449,
"lng" : -77.119759
}
},
"location" : {
"lat" : 38.9071923,
"lng" : -77.03687069999999
},
"location_type" : "APPROXIMATE",
"viewport" : {
"northeast" : {
"lat" : 38.9958641,
"lng" : -76.90939299999999
},
"southwest" : {
"lat" : 38.7916449,
"lng" : -77.119759
}
}
},
"place_id" : "ChIJW-T2Wt7Gt4kRKl2I1CJFUsI",
"types" : [ "locality", "political" ]
}
],
"status" : "OK"
}
Promowanie regionu
W żądaniu Geocoding możesz nakazać usłudze Geocoding, aby zwracała ona
wyników dla określonego regionu za pomocą funkcji region
. Ten parametr przyjmuje domenę ccTLD (kodu kraju najwyższego poziomu)
domena) określający odchylenie regionalne. Większość kodów ccTLD jest taka sama jak
kodów ISO 3166-1 z kilkoma wyjątkami. Na przykład Stany Zjednoczone
domena ccTLD królestwa to „uk” (.co.uk
), a jej kod ISO 3166-1 to „gb”
(technicznie dla podmiotu „Wielkiej Brytanii Wielkiej Brytanii i
Irlandia Północna”).
Wyniki geokodowania mogą być stronnicze w przypadku każdej domeny, w której główny Aplikacja Mapy Google została oficjalnie uruchomiona. Pamiętaj, że odchylenie dotyczy tylko preferuje wyniki z konkretnej domeny; jeśli istnieją trafniejsze wyniki spoza tej domeny, mogą zostać uwzględnione.
Na przykład geokod dla „Toledo”. domyślnie zwraca ten wynik. domena dla interfejsu Geocoding API jest ustawiona na Stany Zjednoczone. Prośba:
https://maps.googleapis.com/maps/api/geocode/json?address=Toledo&key=YOUR_API_KEY
Odpowiedź:
{
"results" : [
{
"address_components" : [
{
"long_name" : "Toledo",
"short_name" : "Toledo",
"types" : [ "locality", "political" ]
},
{
"long_name" : "Lucas County",
"short_name" : "Lucas County",
"types" : [ "administrative_area_level_2", "political" ]
},
{
"long_name" : "Ohio",
"short_name" : "OH",
"types" : [ "administrative_area_level_1", "political" ]
},
{
"long_name" : "United States",
"short_name" : "US",
"types" : [ "country", "political" ]
}
],
"formatted_address" : "Toledo, OH, USA",
"geometry" : {
"bounds" : {
"northeast" : {
"lat" : 41.732844,
"lng" : -83.454229
},
"southwest" : {
"lat" : 41.580266,
"lng" : -83.69423700000002
}
},
"location" : {
"lat" : 41.6639383,
"lng" : -83.55521200000001
},
"location_type" : "APPROXIMATE",
"viewport" : {
"northeast" : {
"lat" : 41.732844,
"lng" : -83.454229
},
"southwest" : {
"lat" : 41.580266,
"lng" : -83.69423700000002
}
}
},
"place_id" : "ChIJeU4e_C2HO4gRRcM6RZ_IPHw",
"types" : [ "locality", "political" ]
}
],
"status" : "OK"
}
Żądanie geokodowania dla „Toledo” z: region=es
(Hiszpania)
zwraca hiszpańskie miasto.
Prośba:
https://maps.googleapis.com/maps/api/geocode/json?address=Toledo®ion=es&key=YOUR_API_KEY
Odpowiedź:
{
"results" : [
{
"address_components" : [
{
"long_name" : "Toledo",
"short_name" : "Toledo",
"types" : [ "locality", "political" ]
},
{
"long_name" : "Toledo",
"short_name" : "TO",
"types" : [ "administrative_area_level_2", "political" ]
},
{
"long_name" : "Castile-La Mancha",
"short_name" : "CM",
"types" : [ "administrative_area_level_1", "political" ]
},
{
"long_name" : "Spain",
"short_name" : "ES",
"types" : [ "country", "political" ]
}
],
"formatted_address" : "Toledo, Spain",
"geometry" : {
"bounds" : {
"northeast" : {
"lat" : 39.88605099999999,
"lng" : -3.9192423
},
"southwest" : {
"lat" : 39.8383676,
"lng" : -4.0796176
}
},
"location" : {
"lat" : 39.8628316,
"lng" : -4.027323099999999
},
"location_type" : "APPROXIMATE",
"viewport" : {
"northeast" : {
"lat" : 39.88605099999999,
"lng" : -3.9192423
},
"southwest" : {
"lat" : 39.8383676,
"lng" : -4.0796176
}
}
},
"place_id" : "ChIJ8f21C60Lag0R_q11auhbf8Y",
"types" : [ "locality", "political" ]
}
],
"status" : "OK"
}
Filtrowanie komponentów
W odpowiedzi Geocoding API interfejs Geocoding API może zwrócić adres
wyników ograniczonych do konkretnego obszaru. Ograniczenie możesz określić za pomocą filtra components
. Filtr składa się z listy:
component:value
par rozdzielone pionową kreską (|
).
Wartości filtrów obsługują te same metody poprawy pisowni oraz częściowe sprawdzanie pisowni
tak jak inne żądania geokodowania. Jeśli geokoder znajdzie częściowe dopasowanie dla wartości
filtra komponentów, odpowiedź będzie zawierać pole partial_match
.
components
, które można filtrować:
postal_code
pasuje do:postal_code
ipostal_code_prefix
.country
pasuje do nazwy kraju lub dwuliterowego kodu kraju ISO 3166-1. Interfejs API jest zgodny ze standardem ISO dla definiują kraje, a filtrowanie działa najlepiej przy z odpowiednim kodem ISO kraju.
Na wyniki mogą mieć wpływ te components
, ale nie będą one egzekwowane:
route
odpowiada długą lub krótką nazwą trasy.- Mecze
locality
zlocality
isublocality
typy. administrative_area
pasuje do wszystkichadministrative_area
poziomów.
Uwagi na temat filtrowania komponentów:
- Nie powtarzaj tych filtrów komponentów w żądaniach – inaczej interfejs API zwróci
Invalid_request
:country
,postal_code
,route
- Jeśli żądanie zawiera powtarzające się filtry komponentów, interfejs API je oceni użyj operatora I, a nie LUB.
- Wyniki są zgodne z Mapami Google, które czasami zwracają nieoczekiwane odpowiedzi. W niektórych przypadkach autouzupełnianie miejsc może przynieść lepsze wyniki. Więcej informacji: to Najczęstsze pytania.
- W przypadku każdego elementu adresu podaj go w parametrze
address
lub w filtrzecomponents
, ale nie w obu tych miejscach. Podanie tych samych wartości w obu przypadkach może spowodowaćZERO_RESULTS
.
Geokod dla „High Street, Hastings” dzięki components=country:GB
zwraca wynik w Hastings (Wielka Brytania), a nie w Hastings-On-Hudson (Stany Zjednoczone).
Prośba:
https://maps.googleapis.com/maps/api/geocode/json?address=high+st+hasting&components=country:GB&key=YOUR_API_KEY
Odpowiedź:
{
"results" : [
{
"address_components" : [
{
"long_name" : "High Street",
"short_name" : "High St",
"types" : [ "route" ]
},
{
"long_name" : "Hastings",
"short_name" : "Hastings",
"types" : [ "postal_town" ]
},
{
"long_name" : "East Sussex",
"short_name" : "East Sussex",
"types" : [ "administrative_area_level_2", "political" ]
},
{
"long_name" : "England",
"short_name" : "England",
"types" : [ "administrative_area_level_1", "political" ]
},
{
"long_name" : "United Kingdom",
"short_name" : "GB",
"types" : [ "country", "political" ]
},
{
"long_name" : "TN34 3EY",
"short_name" : "TN34 3EY",
"types" : [ "postal_code" ]
}
],
"formatted_address" : "High St, Hastings TN34 3EY, UK",
"geometry" : {
"bounds" : {
"northeast" : {
"lat" : 50.8601041,
"lng" : 0.5957329
},
"southwest" : {
"lat" : 50.8559061,
"lng" : 0.5906163
}
},
"location" : {
"lat" : 50.85830319999999,
"lng" : 0.5924594
},
"location_type" : "GEOMETRIC_CENTER",
"viewport" : {
"northeast" : {
"lat" : 50.8601041,
"lng" : 0.5957329
},
"southwest" : {
"lat" : 50.8559061,
"lng" : 0.5906163
}
}
},
"partial_match" : true,
"place_id" : "ChIJ-Ws929sa30cRKgsMNVkPyws",
"types" : [ "route" ]
}
],
"status" : "OK"
}
Żądanie geokodowania lokalizacji „Santa Cruz” z components=country:ES
zwraca Santa Cruz de Tenerife na Wyspach Kanaryjskich w Hiszpanii.
Prośba:
https://maps.googleapis.com/maps/api/geocode/json?components=locality:santa+cruz|country:ES&key=YOUR_API_KEY
Odpowiedź:
{
"results" : [
{
"address_components" : [
{
"long_name" : "Santa Cruz de Tenerife",
"short_name" : "Santa Cruz de Tenerife",
"types" : [ "locality", "political" ]
},
{
"long_name" : "Santa Cruz de Tenerife",
"short_name" : "TF",
"types" : [ "administrative_area_level_2", "political" ]
},
{
"long_name" : "Canary Islands",
"short_name" : "CN",
"types" : [ "administrative_area_level_1", "political" ]
},
{
"long_name" : "Spain",
"short_name" : "ES",
"types" : [ "country", "political" ]
}
],
"formatted_address" : "Santa Cruz de Tenerife, Spain",
"geometry" : {
"bounds" : {
"northeast" : {
"lat" : 28.487616,
"lng" : -16.2356646
},
"southwest" : {
"lat" : 28.4280248,
"lng" : -16.3370045
}
},
"location" : {
"lat" : 28.4636296,
"lng" : -16.2518467
},
"location_type" : "APPROXIMATE",
"viewport" : {
"northeast" : {
"lat" : 28.487616,
"lng" : -16.2356646
},
"southwest" : {
"lat" : 28.4280248,
"lng" : -16.3370045
}
}
},
"place_id" : "ChIJcUElzOzMQQwRLuV30nMUEUM",
"types" : [ "locality", "political" ]
}
],
"status" : "OK"
}
Filtrowanie komponentów zwraca odpowiedź ZERO_RESULTS
tylko wtedy, gdy zastosujesz filtry, które wzajemnie się wykluczają.
Prośba:
https://maps.googleapis.com/maps/api/geocode/json?components=administrative_area:TX|country:FR&key=YOUR_API_KEY
Odpowiedź:
{
"results" : [],
"status" : "ZERO_RESULTS"
}
Możesz wysyłać prawidłowe zapytania bez parametru address, korzystając z filtra components
. (Przy geokodowaniu pełnego adresu
parametr address
jest wymagany, jeśli żądanie zawiera
nazwy i numery budynków).
Prośba:
https://maps.googleapis.com/maps/api/geocode/json?components=route:Annankatu|administrative_area:Helsinki|country:Finland&key=YOUR_API_KEY
Odpowiedź:
{
"results" : [
{
"address_components" : [
{
"long_name" : "Annankatu",
"short_name" : "Annankatu",
"types" : [ "route" ]
},
{
"long_name" : "Helsinki",
"short_name" : "HKI",
"types" : [ "locality", "political" ]
},
{
"long_name" : "Finland",
"short_name" : "FI",
"types" : [ "country", "political" ]
},
{
"long_name" : "00101",
"short_name" : "00101",
"types" : [ "postal_code" ]
}
],
"formatted_address" : "Annankatu, 00101 Helsinki, Finland",
"geometry" : {
"bounds" : {
"northeast" : {
"lat" : 60.168997,
"lng" : 24.9433353
},
"southwest" : {
"lat" : 60.16226160000001,
"lng" : 24.9332897
}
},
"location" : {
"lat" : 60.1657808,
"lng" : 24.938451
},
"location_type" : "GEOMETRIC_CENTER",
"viewport" : {
"northeast" : {
"lat" : 60.168997,
"lng" : 24.9433353
},
"southwest" : {
"lat" : 60.16226160000001,
"lng" : 24.9332897
}
}
},
"place_id" : "ChIJARW7C8sLkkYRgl4je4-RPUM",
"types" : [ "route" ]
}
],
"status" : "OK"
}