Com a API Region Lookup, você pode encontrar IDs de lugares para regiões, que podem ser usados na estilização dos polígonos de limites com base em dados. A API Region Lookup é compatível com dois tipos de solicitação:
- A Region lookup procura uma região por nome de lugar, código FIPS (somente estados e condados dos EUA) ou código do país ISO-3166-1 (ambos os links em inglês).
- A Region search procura a região que contém um local específico, como especificado por um endereço,
LatLng
ou ID do lugar.
Tipos de região compatíveis
Os seguintes tipos de região são compatíveis: country
, administrative_area_level_1
, administrative_area_level_2
, postal_code
e locality
.
Instalar a biblioteca
Para usar a API Region Lookup, siga estas etapas:
- Ative a API Region Lookup no console.
- Instale a biblioteca de código aberto:
npm install @googlemaps/region-lookup
Importar dependências da biblioteca
A biblioteca de código aberto Region Lookup fornece um conjunto de funções e tipos TypeScript que você precisa importar para o código.
Para solicitações Region lookup, importe o seguinte:
import { lookupRegion, LookupRegionRequestData, LookupRegionResponseData, LookupRegionResponse, RegionIdentifier } from "@googlemaps/region-lookup";
Para solicitações Region search, importe o seguinte:
import { searchRegion, RegionSearchValue, SearchRegionRequestData, SearchRegionResponse } from "@googlemaps/region-lookup";
Solicitações de Region lookup
Uma solicitação Region lookup usa um nome de lugar ou código de identificador e retorna um ID de lugar. Para procurar uma região, chame lookupRegion()
, especificando um LookupRegionRequestData
com os seguintes parâmetros:
place
ouunit_code
(obrigatório) – O nome da região (place
) ouunit_code
do lugar. Ounit_code
pode ser um código FIPS (somente estados e condados dos EUA) ou o código de país ISO-3166-1.place_type
(obrigatório) – O valor do tipo de lugar que será pesquisado.region_code
– Código de país/região ISO-3166 de duas letras do local a ser correspondido. Oregion_code
é opcional se place_type éCOUNTRY
.language
– O código de idioma BCP-47, como "pt-BR" ou "en-US". Se nenhum for especificado, o padrão será "en-US".
O exemplo a seguir mostra uma solicitação de pesquisa para 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 });
O parâmetro place
ou unit_code
é obrigatório. Se nenhum for especificado, será retornado um erro.
O parâmetro region_code
é obrigatório, a menos que place_type
seja COUNTRY
.
place
e unit_code
especificam um local para corresponder ao ID de lugar. Por exemplo, se place
for "Califórnia" e place_type
for ADMINISTRATIVE_AREA_LEVEL_1
, a API vai retornar o ID de lugar da Califórnia como matched_place_id
:
place_type
:ADMINISTRATIVE_AREA_LEVEL_1
Resultados de
matched_place_id
: ID de lugar da Califórnia. Todos os outros tipos compatíveis não retornam correspondências.
Se unit_code
for "6" (código FIPS da Califórnia), place_type
for ADMINISTRATIVE_AREA_LEVEL_1
e region_code
for "US", a API vai retornar o ID de lugar da Califórnia:
place_type
:ADMINISTRATIVE_AREA_LEVEL_1
region_code
:US
Resultados de
matched_place_id
: ID de lugar da Califórnia. Todos os outros tipos compatíveis não retornam correspondências.
Se unit_code
for "US", a API vai retornar os seguintes resultados quando os seguintes place_type
s forem especificados:
place_type
:COUNTRY
Resultados de
matched_place_id
: ID de lugar dos Estados Unidos. Todos os outros tipos compatíveis não retornam correspondências.
Se nenhuma correspondência for encontrada, o matched_place_id
não será definido.
Os IDs de lugar candidatos são retornados quando há ambiguidade. Por exemplo, se place
for "Condado de Santa Clara" e place_type
for LOCALITY
, o ID de lugar do Condado de Santa Clara será retornado como candidato.
Resposta da Region lookup
O objeto LookupRegionResponse
vai conter um matched_place_id
se um resultado for encontrado. Se nenhum resultado for encontrado, IDs de lugar de menor confiança serão retornados como IDs candidatos, com um código de erro contendo informações de depuração.
{ "matches": [ { "matchedPlaceId": "ChIJPV4oX_65j4ARVW8IJ6IJUYs" } ] }
Solicitações de Region search
Para encontrar uma região que contenha um local específico, chame searchRegion
especificando um SearchRegionRequestData
com os
seguintes parâmetros:
address
oulatlng
ouplace_id
(obrigatório) – Contém uma string de endereço não estruturada,latlng
ou ID do lugar contidos na região (por exemplo, PDI, edifício etc.). Se nenhum for especificado, será retornado um erro.place_type
(obrigatório) – O valor do tipo de lugar para o tipo de região a ser pesquisada.region_code
– Código de país/região ISO-3166 de duas letras do local a ser correspondido. Oregion_code
é necessário quandoaddress
é especificado.language
– O código de idioma BCP-47, como "pt-BR" ou "en-US". Se nenhum for especificado, o padrão será "en-US".
O exemplo a seguir mostra uma solicitação de pesquisa para 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 });
Resposta da Region search
O objeto SearchRegionResponse
vai conter um matched_place_id
se um resultado for encontrado. Caso não haja correspondência, a resposta vai mostrar um ou mais IDs de lugar candidatos e um código de erro.
{ "matches": [ { "matchedPlaceId": "ChIJPV4oX_65j4ARVW8IJ6IJUYs" } ] }
Referência
Identificadores LookupRegionRequestData
Campo | Tipo | Descrição |
---|---|---|
place |
string | O nome da região a ser associada a um ID de lugar. Use o campo place em combinação com place_type para procurar o ID de lugar da região. Por exemplo, se place_type for
"região administrativa", um place válido poderá ser "Palo Alto, CA". Se place_type for POSTAL_CODE, um place_name válido poderá ser
"94109". Se place_type for COUNTRY, um place
válido poderá ser "Estados Unidos" etc. O region_code é obrigatório quando o
place é especificado, a menos que o place_type seja COUNTRY. |
unit_code |
string | O código de estado ou condado FIPs (somente nos EUA) ou o código de país ISO-3166-1 a ser correspondido. O campo unit_code é usado com place_type para procurar o ID de lugar da região. Por exemplo: se o place_type for COUNTRY , um unit_code válido poderá ser "US" (código ISO-3166-1 Alpha-2 para os Estados Unidos) ou "BR" (código ISO-3166-1 Alpha-2 para o Brasil). Se o place_type for
ADMINISTRATIVE_AREA_LEVEL_1 (estado) e o region_code for "US", um
unit_code válido poderá ser "6" (código FIPs para Califórnia) ou "12"(código FIPs para Flórida). Se o place_type for ADMINISTRATIVE_AREA_LEVEL_2
(condado) e o region_code for "US", o unit_code válido poderá ser "6001" (código
FIPs do Condado de Alameda na Califórnia) ou "12086" (código FIPs para o Condado de Miami-Dade na Flórida). É preciso informar o region_code ao especificar um código FIPs. O region_code é ignorado para códigos de país ISO-3166-1. |
place_type |
PlaceType | Obrigatório. O tipo de região a ser correspondida. |
region_code |
string | Código ISO-3166 de país/região de duas letras para o local que você está tentando corresponder. O campo region_code será opcional se o place_type for COUNTRY. |
language_code |
string | O código de idioma BCP-47, como "en-US" ou "sr-Latn", correspondente ao idioma em que o nome e o endereço do lugar são solicitados. Se nenhum for solicitado, o padrão será inglês. |
Identificadores SearchRegionRequestData
OBRIGATÓRIO: address
, latlng
ou place_id
.
Campo | Tipo | Descrição |
---|---|---|
address |
string | Um endereço não estruturado dentro de uma região a ser
correspondida. É necessário usar o region_code quando o address é especificado. |
latlng |
LatLng | A latitude e longitude contidas em uma região a ser correspondida. |
place_id |
string | Um ID de lugar que está dentro de uma região a ser correspondida. |
place_type |
tipo de lugar | Obrigatório. O tipo de região a ser correspondida. |
language_code |
string | O código de idioma BCP-47, como "en-US" ou "sr-Latn", correspondente ao idioma em que o nome e o endereço do lugar são solicitados. Se nenhum for solicitado, o padrão será o inglês. |
region_code |
string | Código de país/região ISO-3166 de duas letras do local a ser correspondido.
O region_code é obrigatório quando o endereço é especificado. |
Tipos de lugar
Valor | Descrição |
---|---|
POSTAL_CODE |
Um código postal, como usado para endereçar correspondências no país. |
ADMINISTRATIVE_AREA_LEVEL_1 |
Uma entidade civil de primeira ordem, abaixo do nível de país. Nos Estados Unidos, esses níveis administrativos são estados. |
ADMINISTRATIVE_AREA_LEVEL_2 |
Uma entidade civil de segunda ordem, abaixo do nível de país. Nos Estados Unidos, esses níveis administrativos são condados. |
LOCALITY |
Uma entidade política incorporada de cidade ou município. |
COUNTRY |
A entidade política nacional, normalmente o tipo de ordem mais alta. |
LatLng
Um objeto que representa um par de latitude/longitude. Ele é expresso como um par de valores duplos para representar graus de latitude e longitude. A menos que especificado de outra forma, esse objeto precisa seguir o padrão WGS84. Os valores precisam estar dentro de intervalos normalizados.
Campo | Tipo | Descrição |
---|---|---|
latitude |
dupla | A latitude em graus. Precisa estar no intervalo [-90.0, +90.0] .
Por exemplo, 47.47583476464538 . |
longitude |
dupla | A longitude em graus. Precisa estar no intervalo [-180.0, +180.0] .
Por exemplo, -121.73858779269906 . |
Códigos de erro
Valor | Descrição |
---|---|
UnknownError |
Ocorreu um erro desconhecido. |
NoMatchFound |
A solicitação não teve correspondência. Verifique o candidate_place_ids , se disponível. |
AddressNotUnderstood |
Falha na geocodificação do endereço informado. |
PlaceTypeMismatch |
O tipo de local na resposta não corresponde ao da solicitação.
Por exemplo, a locality foi solicitada, mas foi retornada a administrative_area_level_2 . |
MultipleCandidatesFound |
Correspondência de vários candidatos com a entrada. Verifique o candidate_place_ids ,
se disponível. |
PlaceNameNotUnderstood |
Falha ao resolver o nome do lugar informado para uma região. |
UnitCodeNotFound |
O código da unidade não foi encontrado. Verifique se o código da unidade é válido e fornecido no formato correto. |
PlaceTypeNotAllowed |
O ID do lugar correspondente não está na lista de permissões do tipo de lugar e país. |