Za pomocą interfejsu Region Lookup API możesz znaleźć identyfikatory miejsc w regionach, których możesz użyć do nadania stylów granicom w ramach stylizacji opartej na danych. Interfejs Region Lookup API obsługuje 2 rodzaje żądań:
- Wyszukiwanie regionu umożliwia wyszukiwanie regionu według nazwy miejsca, kodu FIPS (tylko w przypadku stanów i hrabstw w Stanach Zjednoczonych) lub kodu kraju ISO-3166-1.
- Wyszukiwanie regionalne wyszukuje region, w którym znajduje się określona lokalizacja określona przez adres
LatLng
lub identyfikator miejsca.
Obsługiwane typy miejsc w regionie
Obsługiwane są te typy regionów: country
, administrative_area_level_1
, administrative_area_level_2
, postal_code
, locality
.
Instalowanie biblioteki
Aby korzystać z interfejsu Region Lookup API, wykonaj te czynności:
- Włącz interfejs Region Lookup API w konsoli.
- Zainstaluj bibliotekę open source:
npm install @googlemaps/region-lookup
Importowanie zależności z biblioteki
Biblioteka open source Region Lookup udostępnia zestaw funkcji i typów TypeScript, które musisz zaimportować do kodu.
W przypadku żądań wyszukiwania regionów zaimportuj te dane:
import { lookupRegion, LookupRegionRequestData, LookupRegionResponseData, LookupRegionResponse, RegionIdentifier } from "@googlemaps/region-lookup";
W przypadku żądań wyszukiwania regionalnego zaimportuj te dane:
import { searchRegion, RegionSearchValue, SearchRegionRequestData, SearchRegionResponse } from "@googlemaps/region-lookup";
żądania wyszukiwania według regionu,
Żądanie wyszukiwania regionu przyjmuje nazwę miejsca lub kod identyfikacyjny, a zwraca identyfikator miejsca. Aby wyszukać region, wywołaj funkcję lookupRegion()
, podając parametr LookupRegionRequestData
z tymi parametrami:
place
lubunit_code
(wymagane) Nazwa regionu (place
) lubunit_code
miejsca.unit_code
może być kodem FIPS (tylko stany i hrabstwa w Stanach Zjednoczonych) lub kodem kraju zgodnym z normą ISO-3166-1.place_type
(wymagany) Wartość typu miejsca, którego szukasz.region_code
Dwuliterowy kod kraju lub regionu w standardzie ISO 3166, który ma zostać dopasowany.region_code
jest opcjonalny, jeśli atrybut place_type ma wartośćCOUNTRY
.language
Kod języka BCP-47, np. „pl-PL” lub „sr-Latn”. Jeśli nie określisz żadnego języka, domyślnie zostanie użyty język angielski (USA).
Ten przykład pokazuje żądanie wyszukiwania dotyczące Newark w stanie New Jersey.
// Headers const headers = { "X-Goog-Api-Key": "YOUR API KEY", }; const data: LookupRegionRequestData = { identifiers: [ { "place": "newark", "place_type": "locality", "region_code": "us", "language": "en", }, ], }; const response: LookupRegionResponse = await RegionLookup.lookupRegion({ headers, data });
Wymagany jest parametr place
lub unit_code
. Jeśli nie zostanie podany żaden argument, zwrócony zostanie błąd.
Parametr region_code
jest wymagany, chyba że place_type
ma wartość COUNTRY
.
place
i unit_code
określają lokalizację, która ma być dopasowana do identyfikatora miejsca. Jeśli np. place
to „California”, a place_type
to „ADMINISTRATIVE_AREA_LEVEL_1
”, interfejs API zwraca identyfikator miejsca w Kalifornii jako matched_place_id
:
place_type
:ADMINISTRATIVE_AREA_LEVEL_1
matched_place_id
wyniki: identyfikator miejsca w Kalifornii. Wszystkie inne obsługiwane typy nie zwracają dopasowania.
Jeśli unit_code
to „6” (kod FIPS stanu Kalifornia), place_type
to ADMINISTRATIVE_AREA_LEVEL_1
, a region_code
to „US”, interfejs API zwraca identyfikator miejsca w Kalifornii:
place_type
:ADMINISTRATIVE_AREA_LEVEL_1
region_code
:US
matched_place_id
wyniki: identyfikator miejsca w Kalifornii. Wszystkie inne obsługiwane typy nie zwracają dopasowania.
Jeśli unit_code
to „US”, interfejs API zwraca te wyniki, gdy określone są te wartości place_type
:
place_type
:COUNTRY
matched_place_id
wyniki: identyfikator miejsca w Stanach Zjednoczonych. Wszystkie inne obsługiwane typy nie zwracają dopasowania.
Jeśli nie zostanie znalezione żadne dopasowanie, parametr matched_place_id
nie zostanie ustawiony.
W przypadku niejednoznaczności zwracane są identyfikatory docelowych miejsc. Jeśli na przykład place
to „Santa Clara County”, a place_type
to LOCALITY
, zwracany jest identyfikator miejsca Santa Clara County.
Odpowiedź na zapytanie o region
Jeśli znaleziono wynik, obiekt LookupRegionResponse
zawiera obiekt matched_place_id
. Jeśli nie zostanie znaleziony żaden wynik, zwracane są identyfikatory miejsc o niższym poziomie ufności jako identyfikatory docelowe, wraz z kodem błędu zawierającym informacje debugujące.
{ "matches": [ { "matchedPlaceId": "ChIJPV4oX_65j4ARVW8IJ6IJUYs" } ] }
Prośby o wyszukiwanie według fragmentu
Aby znaleźć region zawierający określoną lokalizację, wywołaj funkcję searchRegion
, podając parametr SearchRegionRequestData
z tymi parametrami:
address
lublatlng
lubplace_id
(wymagany) zawiera nieuporządkowany ciąg adresulatlng
lub identyfikator miejsca zawarty w regionie (np. punkt zainteresowania, budynek itp.). Jeśli nie określisz żadnej wartości, zwrócony zostanie błąd.place_type
(wymagany) Wartość typu miejsca dla regionu, w którym ma być przeprowadzone wyszukiwanie.region_code
Dwuliterowy kod kraju lub regionu w standardzie ISO 3166, który ma zostać dopasowany. Właściwośćregion_code
jest wymagana, jeśli określonoaddress
.language
Kod języka BCP-47, np. „pl-PL” lub „sr-Latn”. Jeśli nie określisz żadnego języka, domyślnie zostanie użyty język angielski (USA).
Ten przykład pokazuje żądanie wyszukiwania dotyczące Burbank w Kalifornii.
// Headers const headers = { "X-Goog-Api-Key": "YOUR API KEY", }; const data: SearchRegionRequestData = { search_values: [ { "address": "2627 N Hollywood Way, Burbank, CA" , "place_type": "locality" as const, "region_code": "us" }, ], }; const response = await regionLookupClient.searchRegion({ headers, data });
Odpowiedź wyszukiwania według fragmentu
Jeśli znaleziono wynik, obiekt SearchRegionResponse
zawiera obiekt matched_place_id
. W przypadku nieudanego dopasowania odpowiedź zawiera co najmniej 1 identyfikator miejsca docelowego i kod błędu.
{ "matches": [ { "matchedPlaceId": "ChIJPV4oX_65j4ARVW8IJ6IJUYs" } ] }
Dokumentacja
LookupRegionRequestData
identyfikatory
Pole | Typ | Opis |
---|---|---|
place |
ciąg znaków | Nazwa regionu do dopasowania do identyfikatora miejsca. Aby wyszukać identyfikator miejsca regionu, użyj pola place w połączeniu z polem place_type . Jeśli na przykład place_type to „miejscowość”, prawidłową wartością place może być „Palo Alto, CA”. Jeśli
place_type to „POSTAL_CODE”, prawidłową wartością dla place_name może być
"94109". Jeśli place_type to „COUNTRY”, prawidłowa wartość place może być np. „United States”. Wartość region_code jest wymagana, gdy określono place , chyba że place_type to „COUNTRY”. |
unit_code |
ciąg znaków | Kody stanów lub powiatów FIPs (tylko w Stanach Zjednoczonych) lub kody krajów w formacie ISO-3166-1, które mają być dopasowywane. Pole unit_code jest używane w połączeniu z polem place_type do wyszukiwania identyfikatora miejsca regionu. Przykład: jeśli place_type to COUNTRY , prawidłowy kod unit_code może być „US” (kod ISO-3166-1 alfa-2 dla Stanów Zjednoczonych) lub „BR” (kod ISO-3166-1 alfa-2 dla Brazylii). Jeśli place_type to
ADMINISTRATIVE_AREA_LEVEL_1 (stan), a region_code to „US”, prawidłowy kod unit_code może być „6” (kod Fips dla Kalifornii) lub „12” (kod Fips dla Florydy). Jeśli wartość place_type to ADMINISTRATIVE_AREA_LEVEL_2 (hrabstwo) i region_code to „US”, prawidłowy kod unit_code może być „6001” (kod FIPS hrabstwa Alameda w Kalifornii) lub „12086” (kod FIPS hrabstwa Miami-Dade na Florydzie). region_code jest wymagany, jeśli podajesz kod FIPS. Wartość region_code jest ignorowana w przypadku kodów ISO-3166-1. |
place_type |
PlaceType | Wymagane. Typ regionu, który ma być dopasowywany. |
region_code |
ciąg znaków | Dwuliterowy kod kraju/regionu w formacie ISO-3166 dla lokalizacji, którą chcesz dopasować. Parametr region_code jest opcjonalny, jeśli place_type to „COUNTRY”. |
language_code |
ciąg znaków | Kod języka w formacie BCP-47, np. „pl-PL” lub „sr-Latn”, odpowiadający językowi, w którym podano nazwę i adres miejsca. Jeśli nie zostanie podany żaden język, domyślnie zostanie wybrany język angielski. |
SearchRegionRequestData
identyfikatory
WYMAGANE: address
, latlng
lub place_id
.
Pole | Typ | Opis |
---|---|---|
address |
ciąg znaków | Nieustrukturyzowany adres ulicy zawarty w regionie dopasowania. Właściwość region_code jest wymagana, jeśli określono address . |
latlng |
LatLng | Szerokość i długość geograficzna zawarta w regionie dopasowania. |
place_id |
ciąg znaków | Identyfikator miejsca, który znajduje się w regionie dopasowania. |
place_type |
Typ miejsca | Wymagane. Typ regionu, który ma być dopasowywany. |
language_code |
ciąg znaków | Kod języka BCP-47, na przykład „pl-PL” lub „sr-Latn”, odpowiadający językowi, w którym wymagana jest nazwa i adres miejsca. Jeśli nie podasz języka, domyślnie zostanie użyty język angielski. |
region_code |
ciąg znaków | Dwuliterowy kod kraju/regionu w standardzie ISO 3166, który ma być dopasowywany.
Jeśli podany jest adres, musisz podać wartość region_code . |
Typy miejsc
Wartość | Opis |
---|---|
POSTAL_CODE |
Kod pocztowy, który służy do adresowania przesyłek pocztowych na terenie danego kraju. |
ADMINISTRATIVE_AREA_LEVEL_1 |
Jednostka prawna pierwszego rzędu poniżej poziomu kraju. W Stanach Zjednoczonych są to stany. |
ADMINISTRATIVE_AREA_LEVEL_2 |
Podmiot prawny drugiego rzędu poniżej poziomu kraju. W Stanach Zjednoczonych są to hrabstwa. |
LOCALITY |
zarejestrowany podmiot polityczny miasta lub gminy. |
COUNTRY |
Narodowy podmiot polityczny, zwykle najwyższy typ. |
LatLng
Obiekt reprezentujący parę szerokości i długości geograficznej. Jest ona wyrażana jako para liczb podwójnie po przecinku reprezentujących stopnie szerokości i długości geograficznej. O ile nie określono inaczej, obiekt ten musi być zgodny ze standardem WGS84. Wartości muszą mieścić się w normalizowanych zakresach.
Pole | Typ | Opis |
---|---|---|
latitude |
double, | Szerokość geograficzna w stopniach. Musi mieścić się w zakresie [-90.0, +90.0] .
Na przykład 47.47583476464538 . |
longitude |
double, | Długość geograficzna w stopniach. Musi mieścić się w zakresie [-180.0, +180.0] .
Na przykład -121.73858779269906 . |
Kody błędów
Wartość | Opis |
---|---|
UnknownError |
Wystąpił nieznany błąd. |
NoMatchFound |
Żądanie nie zwróciło żadnego dopasowania. Sprawdź, czy jest dostępna opcja candidate_place_ids . |
AddressNotUnderstood |
Nie udało się przeprowadzić geokodowania podanego adresu. |
PlaceTypeMismatch |
Typ miejsca w odpowiedzi nie jest zgodny z typem w żądaniu.
Na przykład locality zostało żądane, ale administrative_area_level_2 zostało zwrócone. |
MultipleCandidatesFound |
wiele kandydatów zostało dopasowanych do danych wejściowych; Sprawdź candidate_place_ids .
jeśli jest dostępna. |
PlaceNameNotUnderstood |
Nie udało się rozpoznać nazwy miejsca jako regionu. |
UnitCodeNotFound |
Nie znaleziono kodu jednostki. Sprawdź, czy kod jednostki jest prawidłowy i podany we właściwym formacie. |
PlaceTypeNotAllowed |
Znaleziony identyfikator miejsca nie znajduje się na liście dozwolonych miejsc o danym typie i w danym kraju. |