Za pomocą interfejsu Region Lookup API możesz znaleźć identyfikatory miejsc dla regionów, których możesz używać do określania stylu wielokątów granic w stylu opartym na danych dla granic. Interfejs Region Lookup API obsługuje 2 rodzaje żądań:
- Wyszukiwanie regionu umożliwia wyszukiwanie regionu według nazwy miejsca, kodu FIPS (tylko stany i hrabstwa w USA) lub kodu kraju ISO-3166-1.
- Wyszukiwanie regionu wyszukuje region, w którym znajduje się określona lokalizacja wskazana przez adres,
LatLnglub identyfikator miejsca.
Obsługiwane typy miejsc w regionie
Obsługiwane są te typy miejsc w regionie: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 definicji typów TypeScript, które musisz zaimportować do swojego kodu.
W przypadku żądań wyszukiwania regionu zaimportuj te elementy:
import { lookupRegion, LookupRegionRequestData, LookupRegionResponseData, LookupRegionResponse, RegionIdentifier } from "@googlemaps/region-lookup";W przypadku żądań wyszukiwania w regionie zaimportuj te elementy:
import { searchRegion, RegionSearchValue, SearchRegionRequestData, SearchRegionResponse } from "@googlemaps/region-lookup";
Żądania wyszukiwania regionu
Żądanie wyszukiwania regionu przyjmuje nazwę miejsca lub kod identyfikacyjny i zwraca identyfikator miejsca. Aby wyszukać region, wywołaj funkcję lookupRegion(), podając LookupRegionRequestData z tymi parametrami:
placelubunit_code(wymagane) Nazwa regionu (place) lubunit_codemiejsca.unit_codemoże być kodem FIPS (tylko w przypadku stanów i hrabstw w USA) lub kodem kraju zgodnym z normą ISO-3166-1.place_type(wymagany) Wartość typu miejsca dla typu miejsca, które ma zostać wyszukane.region_codeDwuliterowy kod kraju lub regionu w formacie ISO-3166, który ma być dopasowany do lokalizacji.region_codejest opcjonalny, jeśli typ miejsca toCOUNTRY.languageKod języka BCP-47, np. „en-US” lub „sr-Latn”. Jeśli nie podasz żadnej wartości, zostanie użyty język domyślny en-US.
Poniższy przykład pokazuje żądanie wyszukiwania dla Newark, NJ.
// 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 podano żadnego z tych argumentów, zwracany jest błąd.
Parametr region_code jest wymagany, chyba że parametr place_type ma wartość COUNTRY.
Parametry place i unit_code określają lokalizację, do której ma pasować identyfikator miejsca. Jeśli np. place to „Kalifornia”, a place_type to ADMINISTRATIVE_AREA_LEVEL_1, interfejs API zwraca identyfikator miejsca dla Kalifornii jako matched_place_id:
place_type:ADMINISTRATIVE_AREA_LEVEL_1matched_place_idwyniki: identyfikator miejsca w Kalifornii. W przypadku wszystkich innych obsługiwanych typów nie ma dopasowania.
Jeśli unit_code to „6” (kod FIPS dla Kalifornii), place_type to ADMINISTRATIVE_AREA_LEVEL_1, a region_code to „US”, interfejs API zwraca identyfikator miejsca dla Kalifornii:
place_type:ADMINISTRATIVE_AREA_LEVEL_1region_code:USmatched_place_idwyniki: identyfikator miejsca w Kalifornii. W przypadku wszystkich innych obsługiwanych typów nie ma dopasowania.
Jeśli wartość unit_code to „US”, interfejs API zwraca te wyniki, gdy określone są te place_type:
place_type:COUNTRYWyniki
matched_place_id: identyfikator miejsca w Stanach Zjednoczonych. W przypadku wszystkich innych obsługiwanych typów nie ma dopasowania.
Jeśli nie zostanie znalezione dopasowanie, wartość matched_place_id nie zostanie ustawiona.
W przypadku niejednoznaczności zwracane są identyfikatory miejsc kandydackich. Jeśli na przykład place to „Santa Clara County”, a place_type to LOCALITY, jako kandydat zostanie zwrócony identyfikator miejsca dla hrabstwa Santa Clara.
Odpowiedź wyszukiwania w regionie
Jeśli znaleziono wynik, obiekt LookupRegionResponse zawiera obiekt matched_place_id. Jeśli nie zostaną znalezione żadne wyniki, zwracane są identyfikatory miejsc o niższym poziomie ufności jako identyfikatory kandydatów wraz z kodem błędu zawierającym informacje do debugowania.
{ "matches": [ { "matchedPlaceId": "ChIJPV4oX_65j4ARVW8IJ6IJUYs" } ] }
Żądania wyszukiwania według fragmentu
Aby znaleźć region, w którym znajduje się określona lokalizacja, wywołaj funkcję searchRegion, podając SearchRegionRequestData z tymi parametrami:
addresslublatlnglubplace_id(wymagane) Zawiera nieustrukturyzowany ciąg adresu,latlnglub identyfikator miejsca zawarty w regionie (np. punkt orientacyjny, budynek itp.). Jeśli nie podano żadnego z nich, zwracany jest błąd.place_type(wymagany) Wartość place type określająca typ regionu, w którym chcesz wyszukiwać.region_codeDwuliterowy kod kraju lub regionu w formacie ISO-3166, który ma być dopasowany do lokalizacji. Właściwośćregion_codejest wymagana, jeśli określonoaddress.languageKod języka BCP-47, np. „en-US” lub „sr-Latn”. Jeśli nie podasz żadnej wartości, zostanie użyty język domyślny en-US.
Poniższy przykład pokazuje żądanie wyszukiwania dla Burbank, CA.
// 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 jeden identyfikator miejsca kandydata i kod błędu.
{ "matches": [ { "matchedPlaceId": "ChIJPV4oX_65j4ARVW8IJ6IJUYs" } ] }
Dokumentacja
LookupRegionRequestData identyfikatory,
| Pole | Typ | Opis |
|---|---|---|
place |
ciąg znaków | Nazwa regionu, który ma być dopasowany do identyfikatora miejsca. Użyj pola place w połączeniu z place_type, aby wyszukać identyfikator miejsca regionu. Jeśli na przykład place_type to „locality”, prawidłowa wartość place może być „Palo Alto, CA”. Jeśli
place_type ma wartość „POSTAL_CODE”, prawidłowa wartość place_name może być „94109”. Jeśli place_type ma wartość „COUNTRY”, prawidłowa wartość place może być np. „United States”. Właściwość region_code jest wymagana, gdy określono place, chyba że place_type ma wartość „COUNTRY”. |
unit_code |
ciąg znaków | Kody stanu lub hrabstwa FIPS (tylko w USA) lub kod kraju ISO 3166-1, który ma być dopasowany. 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 jednostki może mieć wartość „US” (kod Stanów Zjednoczonych w formacie ISO-3166-1 alfa-2) lub „BR” (kod Brazylii w formacie ISO-3166-1 alfa-2). Jeśli place_type jest ADMINISTRATIVE_AREA_LEVEL_1 (stan), a region_code to „US”, prawidłowy kod jednostki może mieć wartość „6” (kod FIP dla Kalifornii) lub „12” (kod FIP dla Florydy). Jeśli place_type to ADMINISTRATIVE_AREA_LEVEL_2 (hrabstwo), a region_code to „US”, prawidłowy unit_code może mieć wartość „6001” (kod FIPs hrabstwa Alameda w Kalifornii) lub „12086” (kod FIPs hrabstwa Miami-Dade na Florydzie). region_code jest wymagany, gdy podajesz kod FIP. W przypadku kodów krajów zgodnych z normą ISO-3166-1 znak region_code jest ignorowany. |
place_type |
PlaceType | Wymagane. Typ regionu do dopasowania. |
region_code |
ciąg znaków | Dwuliterowy kod kraju lub regionu w formacie ISO 3166 dla lokalizacji, do której chcesz dopasować dane. Parametr region_code jest opcjonalny, jeśli place_type ma wartość „COUNTRY”. |
language_code |
ciąg znaków | Kod języka w formacie BCP-47, np. „en-US” lub „sr-Latn”, odpowiadający językowi, w którym wysyłane jest żądanie nazwy i adresu miejsca. Jeśli nie podasz żadnego języka, domyślnie zostanie użyty język angielski. |
SearchRegionRequestData identyfikatory,
WYMAGANE: jeden z elementów: address, latlng lub place_id.
| Pole | Typ | Opis |
|---|---|---|
address |
ciąg znaków | Nieustrukturyzowany adres ulicy, który znajduje się w regionie do dopasowania. Właściwość region_code jest wymagana, jeśli określono address. |
latlng |
LatLng | Szerokość i długość geograficzna, które znajdują się w regionie, aby pasować. |
place_id |
ciąg znaków | Identyfikator miejsca znajdującego się w regionie, który ma być dopasowany. |
place_type |
typ miejsca | Wymagane. Typ regionu do dopasowania. |
language_code |
ciąg znaków | Kod języka BCP-47, np. „en-US” lub „sr-Latn”, odpowiadający językowi, w którym żądana jest nazwa i adres miejsca. Jeśli nie zostanie podany żaden język, domyślnie zostanie użyty język angielski. |
region_code |
ciąg znaków | Dwuliterowy kod kraju lub regionu w standardzie ISO-3166, który ma pasować do lokalizacji.
Właściwość region_code jest wymagana, jeśli podano adres. |
Typy miejsc
| Wartość | Opis |
|---|---|
POSTAL_CODE |
Kod pocztowy używany do adresowania przesyłek pocztowych na terenie danego kraju. |
ADMINISTRATIVE_AREA_LEVEL_1 |
Jednostka administracyjna pierwszego rzędu poniżej poziomu kraju. W Stanach Zjednoczonych są to stany. |
ADMINISTRATIVE_AREA_LEVEL_2 |
Jednostka administracyjna drugiego rzędu poniżej poziomu kraju. W Stanach Zjednoczonych są to hrabstwa. |
LOCALITY |
podmiot polityczny w postaci miasta lub miejscowości; |
COUNTRY |
Narodowy podmiot polityczny, zwykle typ najwyższego rzędu. |
LatLng
Obiekt reprezentujący parę szerokości i długości geograficznej. Jest to para liczb zmiennoprzecinkowych podwójnej precyzji, które reprezentują stopnie szerokości i długości geograficznej. O ile nie określono inaczej, ten obiekt musi być zgodny ze standardem WGS84. Wartości muszą mieścić się w znormalizowanych zakresach.
| Pole | Typ | Opis |
|---|---|---|
latitude |
podwójny | Szerokość geograficzna w stopniach. Musi mieścić się w zakresie [-90.0, +90.0].
Na przykład 47.47583476464538. |
longitude |
podwójny | 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 żadnych wyników. Sprawdź, czy candidate_place_idsjest dostępny. |
AddressNotUnderstood |
Nie udało się geokodować podanego adresu. |
PlaceTypeMismatch |
Typ miejsca w odpowiedzi nie pasuje do typu miejsca w żądaniu.
Na przykład wysłano prośbę o locality, ale zwrócono administrative_area_level_2. |
MultipleCandidatesFound |
Do danych wejściowych dopasowano kilku kandydatów. Sprawdź candidate_place_ids.
jeśli jest dostępna. |
PlaceNameNotUnderstood |
Nie udało się rozpoznać podanej nazwy miejsca jako regionu. |
UnitCodeNotFound |
Nie znaleziono kodu jednostki. Sprawdź, czy kod jednostki jest prawidłowy i podany w odpowiednim formacie. |
PlaceTypeNotAllowed |
Dopasowany identyfikator miejsca nie znajduje się na liście dozwolonych typów miejsc i krajów. |