Geocoding API

Esse serviço também está disponível como parte da API Maps JavaScript do lado do cliente ou para uso do lado do servidor com o cliente Java, cliente Python, cliente Go e cliente Node.js para os serviços do Google Maps.

O que é geocodificação?

Geocoding é o processo de conversão de endereços (como "1600 Amphitheatre Parkway, Mountain View, CA") em coordenadas geográficas (como latitude 37.423021 e longitude -122.083739), que você pode usar para colocar marcadores em um mapa ou posicioná-lo.

geocodificação inversa é o processo de converter coordenadas geográficas em um endereço legível.

Você também pode usar a API Geocoding para encontrar o endereço de um determinado ID do lugar.

A API Geocoding fornece uma maneira direta de acessar esses serviços por meio de uma solicitação HTTP. O exemplo a seguir usa o serviço de geocodificação com a API Maps JavaScript para demonstrar a funcionalidade básica.

 

Veja este exemplo em tela cheia para conferir mais funcionalidades da API Geocoding, como mais opções disponíveis para personalizar a solicitação (filtragem de componentes e viés de janela de visualização) e mais detalhes sobre cada resultado.

Antes de começar

Neste documento, descrevemos o serviço da Web da API Geocoding. Ela é destinada a desenvolvedores de sites e dispositivos móveis que querem usar dados de geocodificação em mapas fornecidos por uma das APIs da Plataforma Google Maps.

Observação: esse serviço geralmente é projetado para geocodificar endereços estáticos (conhecidos com antecedência) para a colocação de conteúdo de um aplicativo em um mapa. Esse serviço não foi projetado para responder em tempo real à entrada do usuário. Para geocodificação dinâmica (por exemplo, em um elemento da interface do usuário), consulte a documentação do geocodificador do cliente da API Maps JavaScript e/ou das APIs de localização do Google Play Services.

Antes de começar a desenvolver com a API Geocoding, leia os requisitos de autenticação (você precisa de uma chave de API) e as informações de uso e faturamento da API (é necessário ativar o faturamento no projeto).

Solicitação e resposta de geocodificação

Uma solicitação da API Geocoding tem o seguinte formato:

https://maps.googleapis.com/maps/api/geocode/outputFormat?parameters

em que outputFormat pode ser um dos seguintes valores:

  • json (recomendado) indica a saída em JavaScript Object Notation (JSON); ou
  • xml indica a saída em XML

O HTTPS é obrigatório para solicitações que usam uma chave de API.

Observação: os URLs precisam ser codificados corretamente para serem válidos e estão limitados a 8.192 caracteres para todos os serviços da Web. Esteja ciente desse limite ao criar seus URLs. Observe que navegadores, proxies e servidores diferentes também podem ter limites de caracteres de URL diferentes.

Alguns parâmetros são obrigatórios, enquanto outros são opcionais. Como é o padrão em URLs, os parâmetros são separados usando o caractere "e" comercial (&).

O restante desta página descreve a geocodificação e a geocodificação inversa separadamente, porque parâmetros diferentes estão disponíveis para cada tipo de solicitação.

Parâmetros de geocodificação (consulta de latitude/longitude)

Todos os caracteres reservados (por exemplo, o sinal de adição "+") precisam ser codificados para uso em URL.

Parâmetros obrigatórios em uma solicitação de geocodificação:

  • address: o endereço ou o código Plus que você quer geocodificar. Especifique os endereços de acordo com o formato usado pelo serviço postal nacional do país em questão. Evite incluir outros elementos de endereço, como nomes de empresas, números de unidades, de pacotes ou de andares. Os elementos de endereço devem ser delimitados por espaços, mostrados aqui com escape de URL para %20:

address=24%20Sussex%20Drive%20Ottawa%20ON
  • Formate os plus codes conforme mostrado aqui (os sinais de adição têm escape de URL para %2B e os espaços, para %20):
    • código global é um código de área com quatro caracteres e um código local com pelo menos seis caracteres (849VCWC8+R9 é 849VCWC8%2BR9).
    • código composto é um código local com pelo menos seis caracteres e um local explícito (CWC8+R9 Mountain View, CA, EUA é CWC8%2BR9%20Mountain%20View%20CA%20USA).

    --OR--
    components: um filtro de componentes com elementos separados por um traço (|). O filtro de componentes também será aceito como parâmetro opcional se um address for fornecido. Cada elemento no filtro de componentes consiste em um par component:value e restringe totalmente os resultados do geocodificador. Veja mais informações sobre filtragem de componentes abaixo.
  • key: a chave de API do seu aplicativo. Essa chave identifica seu aplicativo para fins de gerenciamento de cotas. Saiba como receber uma chave.

Consulte as Perguntas frequentes para ver mais orientações.

Parâmetros opcionais em uma solicitação de geocodificação:

  • bounds: a caixa delimitadora da janela de visualização em que a tendência dos resultados de geocódigo é mais proeminente. Esse parâmetro influencia apenas os resultados do geocodificador, sem restringi-los totalmente. Para mais informações, consulte Viés de janela de visualização abaixo.
  • language: o idioma em que os resultados serão retornados.
    • Consulte a lista de idiomas compatíveis. Normalmente, o Google atualiza os idiomas compatíveis. Portanto, essa lista pode não estar completa.
    • Se language não for fornecido, o geocodificador tentará usar o idioma preferencial, conforme especificado no cabeçalho Accept-Language, ou o idioma nativo do domínio do qual a solicitação será enviada.
    • O geocodificador faz o possível para fornecer um endereço que seja legível para os usuários e os moradores locais. Para atingir esse objetivo, ele retorna endereços no idioma local, transliterados para um script legível pelo usuário, se necessário, observando o idioma preferido. Todos os outros endereços são retornados no idioma preferido. Os componentes do endereço são retornados no mesmo idioma, que é escolhido no primeiro componente.
    • Se um nome não estiver disponível no idioma preferido, o geocodificador usará a correspondência mais próxima.
    • A linguagem preferida tem uma pequena influência no conjunto de resultados que a API escolhe retornar e a ordem em que são retornados. O geocodificador interpreta abreviações de forma diferente dependendo do idioma, como as abreviações de tipos de rua ou sinônimos, que podem ser válidos em um idioma, mas não em outro. Por exemplo, utca e tér são sinônimos de rua e quadrado, respectivamente, em húngaro.
  • region: o código da região, especificado como um valor de dois caracteres ccTLD ("top-level domain"). Esse parâmetro influencia, mas não restringe totalmente, os resultados do geocodificador. Para mais informações, consulte Viés de região abaixo.
  • components: um filtro de componentes com elementos separados por um barra vertical (|). O filtro de componentes será obrigatório se a solicitação não incluir um address. Cada elemento no filtro de componentes consiste em um par component:value e restringe totalmente os resultados do geocodificador. Veja mais informações sobre filtragem de componentes abaixo.

Respostas

As respostas de geocodificação são retornadas no formato indicado pela sinalização output no caminho da solicitação de URL.

Neste exemplo, a API Geocoding solicita uma resposta json para uma consulta no ID de local "ChIJeRpOeF67j4AR9ydy_PIzPuM", que é o place_ID do edifício no endereço 1600 Amphitheatre Parkway, Mountain View, CA.

Esta solicitação demonstra o uso da sinalização JSON output:

https://maps.googleapis.com/maps/api/geocode/json?place_id=ChIJeRpOeF67j4AR9ydy_PIzPuM&key=YOUR_API_KEY

Esta solicitação demonstra o uso da sinalização output XML:

https://maps.googleapis.com/maps/api/geocode/xml?place_id=ChIJeRpOeF67j4AR9ydy_PIzPuM&key=YOUR_API_KEY

Códigos de status

O campo "status" no objeto de resposta de geocodificação contém o status da solicitação e pode conter informações de depuração para ajudar a rastrear o motivo pelo qual a geocodificação não está funcionando. O campo "status" pode conter os seguintes valores:

  • "OK" indica que não houve erros. O endereço foi analisado e pelo menos um geocódigo foi retornado.
  • "ZERO_RESULTS" indica que o geocódigo foi bem-sucedido, mas não retornou resultados. Isso pode ocorrer se o geocodificador recebeu uma address inexistente.
  • OVER_DAILY_LIMIT indica uma das seguintes opções:
    • A chave de API está ausente ou é inválida.
    • O faturamento não foi ativado na sua conta.
    • Um limite de uso definido pelo próprio usuário foi excedido.
    • A forma de pagamento fornecida não é mais válida (por exemplo, o cartão de crédito expirou).

    Consulte as Perguntas frequentes sobre o Maps para saber como corrigir isso.

  • "OVER_QUERY_LIMIT" indica que você ultrapassou a sua cota.
  • "REQUEST_DENIED" indica que a solicitação foi negada.
  • "INVALID_REQUEST" geralmente indica que a consulta (address, components ou latlng) está ausente.
  • "UNKNOWN_ERROR" indica que não foi possível processar a solicitação devido a um erro de servidor. A solicitação poderá ser bem-sucedida se você tentar novamente.

Mensagens de erro

Quando o geocodificador retorna um código de status diferente de OK, pode haver um campo error_message adicional no objeto de resposta da geocodificação. Esse campo contém informações mais detalhadas sobre os motivos por trás do código de status fornecido.

Observação: não há garantia de que esse campo esteja sempre presente, e o conteúdo dele está sujeito a mudanças.

Resultados

Quando o geocodificador retorna resultados, ele os coloca em uma matriz results (JSON). Mesmo que o geocodificador não retorne resultados (por exemplo, se o endereço não existir), ele retornará uma matriz results vazia. As respostas XML consistem em zero ou mais elementos <result>.

Um resultado típico contém os seguintes campos:

  • A matriz types[] indica o tipo do resultado retornado. Essa matriz contém um conjunto de zero ou mais tags que identificam o tipo de recurso retornado no resultado. Por exemplo, um geocódigo de "quo"
  • formatted_address é uma string que contém o endereço legível desse local.

    Muitas vezes, esse endereço é equivalente ao endereço postal. Alguns países, como o Reino Unido, não permitem a distribuição de endereços postais verdadeiros devido a restrições de licenciamento.

    O endereço formatado é composto de maneira lógica por um ou mais componentes de endereço. Por exemplo, o endereço "111 8th Avenue, New York, NY" consiste nos seguintes componentes: "111" (o número da rua), "8th Avenue" (o trajeto), "New York" (a cidade) e "NY" (estado dos EUA).

    Não analise o endereço formatado de maneira programática. Em vez disso, use os componentes de endereço individuais, que a resposta da API inclui, além do campo de endereço formatado.

  • address_components[] é uma matriz que contém os componentes separados aplicáveis a esse endereço.

    Geralmente, cada componente de endereço contém os seguintes campos:

    • types[] é uma matriz que indica o tipo do componente de endereço. Veja a lista de tipos compatíveis.
    • long_name é a descrição de texto completa ou o nome do componente de endereço retornado pelo geocodificador.
    • short_name é um nome abreviado para o componente de endereço, se disponível. Por exemplo, um componente de endereço para o estado do Alasca pode ter um long_name de "quot;Alasca" e um short_name de "AK" usando a abreviação postal de duas letras.

    Observe os seguintes fatos sobre a matriz address_components[]:

    • A matriz de componentes de endereço pode conter mais componentes do que o formatted_address.
    • A matriz não inclui necessariamente todas as entidades políticas que contêm um endereço, além daquelas incluídas no formatted_address. Para recuperar todas as entidades políticas que contêm um endereço específico, use a geocodificação inversa, transmitindo a latitude/longitude do endereço como um parâmetro para a solicitação.
    • Não há garantia de que o formato da resposta permanecerá o mesmo entre as solicitações. Especificamente, o número de address_components varia de acordo com o endereço solicitado e pode mudar com o tempo para o mesmo endereço. Um componente pode mudar a posição na matriz. O tipo do componente pode mudar. Um componente específico pode estar ausente em uma resposta posterior.

Para processar a matriz de componentes, analise a resposta e selecione os valores apropriados usando expressões. Consulte o guia para analisar uma resposta.

  • postcode_localities[] é uma matriz que indica todas as localidades contidas em um código postal. Só está presente quando o resultado é um código postal que contém várias localidades.
  • geometry contém as seguintes informações:
    • location contém o valor de latitude e longitude geocodificado. Para pesquisas de endereço normais, esse campo é normalmente o mais importante.
    • location_type armazena dados adicionais sobre o local especificado. No momento, são aceitos os seguintes valores:

      • "ROOFTOP" indica que o resultado retornado é um geocódigo preciso, para o qual temos informações de local com precisão de endereço.
      • "RANGE_INTERPOLATED" indica que o resultado retornado reflete uma aproximação (geralmente em uma via) interpolada entre dois pontos precisos (como interseções). Os resultados intercalados geralmente são retornados quando os geocódigos " terraço" não estão disponíveis para um endereço.
      • "GEOMETRIC_CENTER" indica que o resultado retornado é o centro geométrico de um resultado, como uma polilinha (por exemplo, uma rua) ou polígono (região).
      • "APPROXIMATE" indica que o resultado retornado é aproximado.
    • viewport contém a janela de visualização recomendada para exibir o resultado retornado, especificado como dois valores de latitude e longitude que definem os cantos southwest e northeast da caixa delimitadora da janela de visualização. Geralmente, a janela de visualização é usada para enquadrar um resultado ao exibi-lo a um usuário.
    • bounds (opcionalmente armazenado) armazena a caixa delimitadora, que pode conter totalmente o resultado retornado. Esses limites podem não corresponder à janela de visualização recomendada. Por exemplo, São Francisco inclui as Ilhas Farallon, que tecnicamente fazem parte da cidade, mas provavelmente não devem ser retornadas na janela de visualização.
  • plus_code (consulte Código de localização aberto e códigos de adição) é uma referência de local codificada, derivada de coordenadas de latitude e longitude, que representa uma área: 1/8000o de um grau por 1/8000o de grau (cerca de 14m x 14m na Linha do Equador) ou menor. Os Plus Codes podem ser usados como substitutos de endereços em lugares que não existem, ou seja, em que os edifícios não são numerados ou as ruas não têm nome.

    O Plus Code é formatado como um código global e composto:

    • global_code é um código de área com quatro caracteres e um código local com pelo menos seis caracteres (849VCWC8+R9).
    • compound_code é um código local com pelo menos seis caracteres e um local explícito (CWC8+R9, Mountain View, CA, EUA). Não analise esse conteúdo de forma programática.
    Normalmente, tanto o código global quanto o composto são retornados. No entanto, se o resultado estiver em um local remoto (por exemplo, um oceano ou deserto), apenas o código global poderá ser retornado.
  • partial_match indica que o geocodificador não retornou exatamente uma correspondência para a solicitação original, embora tenha sido capaz de corresponder parte do endereço solicitado. Examine a solicitação original para verificar erros ortográficos e/ou um endereço incompleto.

    As correspondências parciais ocorrem com mais frequência para endereços que não existem na localidade que você informa na solicitação. As correspondências parciais também podem ser retornadas quando uma solicitação corresponde a dois ou mais locais na mesma localidade. Por exemplo, "Hillpar St, Bristol, UK" retornará uma correspondência parcial para Henry Street e Henrietta Street. Se uma solicitação incluir um componente de endereço com ortografia incorreta, o serviço de geocodificação poderá sugerir um endereço alternativo. As sugestões acionadas dessa maneira também serão marcadas como uma correspondência parcial.

  • place_id é um identificador exclusivo que pode ser usado com outras APIs do Google. Por exemplo, você pode usar place_id em uma solicitação da API Places para ver detalhes de uma empresa local, como número de telefone, horário de funcionamento, avaliações de usuários e muito mais. Consulte a visão geral do ID de lugar.

Tipos de endereço e tipos de componentes de endereço

A matriz types[] no resultado indica o tipo de endereço. Exemplos de tipos de endereço incluem endereço, país ou entidade política. Há também uma matriz types[] em address_components[], indicando o tipo de cada parte do endereço. Exemplos incluem números de rua ou países. Veja abaixo uma lista completa dos tipos. Os endereços podem ter vários tipos. Os tipos podem ser considerados 'tags'. Por exemplo, muitas cidades são marcadas com o tipo political e locality.

Os geocodificadores a seguir são aceitos e retornados pelo geocodificador nas matrizes de tipo de endereço e de tipo de componente de endereço:

  • street_address indica um endereço exato.
  • route indica um trajeto nomeado (como "US 101").
  • intersection indica um cruzamento importante, geralmente de duas estradas principais.
  • political indica uma entidade política. Normalmente, esse tipo indica um polígono de alguma administração civil.
  • country indica a entidade política nacional e normalmente é o tipo de ordem mais alta retornado pelo geocodificador.
  • administrative_area_level_1 indica uma entidade civil de primeira ordem abaixo do nível de país. Nos Estados Unidos, esses níveis administrativos são estados. Nem todas as nações exibem esses níveis administrativos. Na maioria dos casos, os nomes curtos de admin_area_level_1 corresponderão de perto às subdivisões da ISO 3166-2 e de outras listas amplamente circuladas. No entanto, isso não é garantido, já que nossos resultados de geocodificação são baseados em vários sinais e dados de local.
  • administrative_area_level_2 indica uma entidade civil de segunda ordem abaixo do nível de país. Nos Estados Unidos, esses níveis administrativos são condados. Nem todas as nações exibem esses níveis administrativos.
  • administrative_area_level_3 indica uma entidade civil de terceira ordem abaixo do nível de país. Esse tipo indica uma divisão civil secundária. Nem todos os países incluem esses níveis administrativos.
  • administrative_area_level_4 indica uma entidade civil de quarta ordem abaixo do nível de país. Esse tipo indica uma divisão civil secundária. Nem todos os países incluem esses níveis administrativos.
  • administrative_area_level_5 indica uma entidade civil de quinta ordem abaixo do nível de país. Esse tipo indica uma divisão civil secundária. Nem todos os países incluem esses níveis administrativos.
  • administrative_area_level_6 indica uma entidade civil de sexta ordem abaixo do nível de país. Esse tipo indica uma divisão civil secundária. Nem todos os países incluem esses níveis administrativos.
  • administrative_area_level_7 indica uma entidade civil de sétima ordem abaixo do nível de país. Esse tipo indica uma divisão civil secundária. Nem todos os países incluem esses níveis administrativos.
  • colloquial_area indica um nome alternativo usado com frequência para a entidade.
  • locality indica uma entidade política de cidade incorporada.
  • sublocality indica uma entidade civil de primeira ordem abaixo de uma localidade. Em alguns locais, é possível receber um dos tipos adicionais: sublocality_level_1 a sublocality_level_5. Cada nível de sublocalidade é uma entidade civil. Números maiores indicam uma área geográfica menor.
  • neighborhood indica um bairro nomeado.
  • premise indica um local nomeado, geralmente um edifício ou conjunto de edifícios com um nome comum.
  • subpremise indica uma entidade de primeira ordem abaixo de um local nomeado, normalmente um edifício dentro de um conjunto de edifícios com um nome comum
  • plus_code indica uma referência de local codificada, derivada de latitude e longitude. Os Plus Codes podem ser usados para substituir endereços em lugares que não existem, ou seja, quando os edifícios não estão numerados ou as ruas não têm nome. Consulte https://plus.codes para ver detalhes.
  • postal_code indica um código postal, conforme usado para atender aos correios no país.
  • natural_feature indica um recurso natural de destaque.
  • airport indica um aeroporto.
  • park indica um parque nomeado.
  • point_of_interest indica um ponto de interesse nomeado. Normalmente, esses pontos de interesse são entidades locais de destaque que não se encaixam facilmente em outra categoria, como o Edifício Estadual do Império e a Torre Eiffel.

Uma lista vazia de tipos indica que não há tipos conhecidos para o componente de endereço específico, por exemplo, Lieu-dit na França.

Além do indicado acima, os componentes de endereço podem incluir os tipos listados aqui. A lista não está completa e está sujeita a alterações.

  • floor indica o andar de um endereço do edifício.
  • establishment geralmente indica um lugar que ainda não foi classificado.
  • landmark indica um lugar próximo que é usado como referência para ajudar na navegação.
  • point_of_interest indica um ponto de interesse nomeado.
  • parking indica um estacionamento ou uma estrutura de estacionamento.
  • post_box indica uma caixa postal específica.
  • postal_town indica um agrupamento de áreas geográficas, como locality e sublocality, usadas para endereços de correspondência em alguns países.
  • room indica a sala de um endereço de um edifício.
  • street_number indica o número exato da rua.
  • bus_station, train_station e transit_station indicam a localização de um ponto de ônibus, trem ou transporte público.

Viés de janela de visualização

Em uma solicitação de geocodificação, você pode instruir o serviço da Geocoding a dar preferência a resultados em uma determinada janela de visualização (expressa como uma caixa delimitadora). Para fazer isso no URL da solicitação, defina o parâmetro bounds.

O parâmetro bounds define as coordenadas de latitude/longitude dos cantos sudoeste e nordeste dessa caixa delimitadora usando um caractere de barra vertical (|) para separar as coordenadas.

Por exemplo, um geocódigo para "Washington" geralmente retorna o estado dos EUA de Washington:

Solicitação:

https://maps.googleapis.com/maps/api/geocode/json?address=Washington&key=YOUR_API_KEY

Resposta:

{
   "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"
}

No entanto, a adição de um argumento bounds que define uma caixa delimitadora em torno da parte nordeste dos EUA resulta neste geocódigo, que retorna a cidade de Washington, DC:

Solicitação:

https://maps.googleapis.com/maps/api/geocode/json?address=Washington&bounds=36.47,-84.72%7C43.39,-65.90&key=YOUR_API_KEY

Resposta:

{
   "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"
}

Viés de região

Em uma solicitação de geocodificação, é possível instruir o serviço de geocodificação a retornar resultados polarizados para uma região específica usando o parâmetro region. Esse parâmetro usa um argumento ccTLD (domain de nível superior de código de país) especificando o viés da região. A maioria dos códigos ccTLD é idêntica aos códigos ISO 3166-1, com algumas exceções notáveis. Por exemplo, o ccTLD do Reino Unido é "uk" (.co.uk), enquanto o código ISO 3166-1 é "quot;gb" (tecnicamente para a entidade do Reino Unido da Grã-Bretanha e da Irlanda do Norte).

Os resultados de geocodificação podem ser tendenciosos para cada domínio em que o aplicativo principal do Google Maps é oficialmente lançado. O viés somente prefere resultados para um domínio específico. Se houver resultados mais relevantes fora desse domínio, eles poderão ser incluídos.

Por exemplo, um geocódigo para "Toledo" retorna esse resultado, já que o domínio padrão da API Geocoding é definido como os Estados Unidos. Solicitação:

https://maps.googleapis.com/maps/api/geocode/json?address=Toledo&key=AIzaSyCaor12zcAJ3XgISkD8zsoaQ64PAlDgBrs

Resposta

{
   "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"
}

Uma solicitação de geocodificação para "Toledo" com region=es (Espanha) retornará a cidade espanhola.

Solicitação:

https://maps.googleapis.com/maps/api/geocode/json?address=Toledo®ion=es&key=YOUR_API_KEY

Resposta:

{
   "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"
}

Filtragem de componentes

Em uma resposta de geocodificação, a API Geocoding pode retornar resultados de endereço restritos a uma área específica. É possível especificar a restrição usando o filtro components. Um filtro consiste em uma lista de pares de component:value separados por uma barra vertical (|). Os valores de filtro oferecem suporte aos mesmos métodos de correção ortográfica e correspondência parcial de outras solicitações de geocodificação. Se o geocodificador encontrar uma correspondência parcial para um filtro de componente, a resposta conterá um campo partial_match.

Os components que podem ser filtrados incluem:

  • postal_code corresponde a postal_code e postal_code_prefix.
  • country corresponde ao nome de um país ou um código de país ISO 3166-1 de duas letras. A API segue o padrão ISO para definir países, e a filtragem funciona melhor ao usar o código ISO correspondente do país.

Observação:se você receber resultados inesperados com um código de país, verifique se está usando um código que inclui os países, territórios dependentes e áreas de interesse geográfico pretendidos. Veja informações sobre código em Wikipédia: lista de códigos de país ISO 3166 ou na Plataforma de navegação on-line ISO.

Os components a seguir podem ser usados para influenciar os resultados, mas não serão aplicados:

  • route corresponde ao nome longo ou curto de uma rota.
  • locality corresponde aos tipos locality e sublocality.
  • administrative_area corresponde a todos os níveis de administrative_area.

Observações sobre a filtragem de componentes:

  • Não repita esses filtros de componente em solicitações, ou a API retornará Invalid_request: country, postal_code, route
  • Se a solicitação tiver filtros de componentes repetidos, a API vai avaliar esses filtros como AND, e não OR.
  • Os resultados são consistentes com o Google Maps, que às vezes produz respostas ZERO_RESULTS inesperadas. O uso do Place Autocomplete pode oferecer resultados melhores em alguns casos de uso. Para saber mais, consulte estas perguntas frequentes.
  • Para cada componente de endereço, especifique-o no parâmetro address ou components, mas não ambos. Especificar os mesmos valores em ambos pode resultar em ZERO_RESULTS.

Um geocódigo para "High St, Hastings" com components=country:GB retorna um resultado em Hastings, Inglaterra, e não em Hastings-On-Hudson, EUA.

Solicitação:

https://maps.googleapis.com/maps/api/geocode/json?address=high+st+hasting&components=country:GB&key=YOUR_API_KEY

Resposta:

{
   "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"
}

Uma solicitação de geocódigo para a localidade de "Santa Cruz" com components=country:ES retorna Santa Cruz de Tenerife nas Ilhas Canárias, Espanha.

Solicitação:

https://maps.googleapis.com/maps/api/geocode/json?components=locality:santa+cruz|country:ES&key=YOUR_API_KEY
{
   "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"
}

A filtragem de componentes só retornará uma resposta ZERO_RESULTS se você fornecer filtros que excluem um ao outro.

Solicitação:

https://maps.googleapis.com/maps/api/geocode/json?components=administrative_area:TX|country:FR&key=YOUR_API_KEY

Resposta:

{
   "results" : [],
   "status" : "ZERO_RESULTS"
}

É possível fazer consultas válidas sem o parâmetro de endereço usando o filtro components. Ao geocodificar um endereço completo, o parâmetro address será obrigatório se a solicitação contiver os nomes e números de edifícios.

Solicitação:

https://maps.googleapis.com/maps/api/geocode/json?components=route:Annankatu|administrative_area:Helsinki|country:Finland&key=YOUR_API_KEY

Resposta:

{
   "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"
}

Solicitação e resposta de geocodificação inversa (busca de endereço)

O termo geocodificação geralmente se refere a traduzir um endereço legível para um local em um mapa. O processo de fazer o oposto, ou seja, converter um local no mapa em um endereço legível, é conhecido como geocodificação reversa.

Solicitações de geocodificação inversas

Parâmetros obrigatórios

  • latlng: os valores de latitude e longitude que especificam o local para o qual você quer conseguir o endereço mais próximo legível por humanos.
  • key: a chave de API do seu aplicativo. Essa chave identifica seu aplicativo para fins de gerenciamento de cotas. Saiba como receber uma chave.

Parâmetros opcionais

Estes são os parâmetros opcionais que você pode incluir em uma solicitação de geocodificação inversa:

language: o idioma em que os resultados serão retornados.
  • Consulte a lista de idiomas compatíveis. Normalmente, o Google atualiza os idiomas compatíveis. Portanto, essa lista pode não estar completa.
  • Se language não for fornecido, o geocodificador tentará usar o idioma preferencial, conforme especificado no cabeçalho Accept-Language, ou o idioma nativo do domínio do qual a solicitação será enviada.
  • O geocodificador faz o possível para fornecer um endereço que seja legível para os usuários e os moradores locais. Para atingir esse objetivo, ele retorna endereços no idioma local, transliterados para um script legível pelo usuário, se necessário, observando o idioma preferido. Todos os outros endereços são retornados no idioma preferido. Os componentes do endereço são retornados no mesmo idioma, que é escolhido no primeiro componente.
  • Se um nome não estiver disponível no idioma preferido, o geocodificador usará a correspondência mais próxima.
result_type: um filtro de um ou mais tipos de endereço, separados por um traço (|). Se o parâmetro contém vários tipos de endereço, a API retorna todos os endereços que correspondem a qualquer um dos tipos. Uma observação sobre o processamento: o parâmetro result_type não restringe a pesquisa aos tipos de endereço especificados. Em vez disso, o result_type atua como um filtro pós-pesquisa: a API busca todos os resultados da latlng especificada e descarta esses resultados que não correspondem aos tipos de endereço especificados. Os valores a seguir são compatíveis:

  • street_address indica um endereço preciso.
  • route indica uma rota nomeada (como "US 101").
  • intersection indica uma interseção principal, normalmente de duas estradas principais.
  • political indica uma entidade política. Normalmente, esse tipo indica um polígono de administração civil.
  • country indica a entidade política nacional e costuma ser o tipo de ordem mais elevada retornado pelo geocodificador.
  • administrative_area_level_1 indica uma entidade civil de primeira ordem abaixo do nível do país. Nos Estados Unidos, esses níveis administrativos são os estados. Nem todos os países têm esses níveis administrativos. Na maioria dos casos, nomes curtos para administrative_area_level_1 vão respeitar quase que totalmente as subdivisões da ISO 3166-2 e outras normas amplamente divulgadas, porém isso não é garantido, já que os resultados da nossa geocodificação se baseiam em diversos sinais e dados de localização.
  • administrative_area_level_2 indica uma entidade civil de segunda ordem abaixo do nível de país. Nos Estados Unidos, esses níveis administrativos são os condados. Nem todos os países têm esses níveis administrativos.
  • administrative_area_level_3 indica uma entidade civil de terceira ordem abaixo do nível de país. Esse tipo indica uma divisão civil secundária. Nem todos os países incluem esses níveis administrativos.
  • administrative_area_level_4 indica uma entidade civil de quarta ordem abaixo do nível do país. Esse tipo indica uma divisão civil secundária. Nem todos os países incluem esses níveis administrativos.
  • administrative_area_level_5 indica uma entidade civil de quinta ordem abaixo do nível do país. Esse tipo indica uma divisão civil secundária. Nem todos os países incluem esses níveis administrativos.
  • administrative_area_level_6 indica uma entidade civil de sexta ordem abaixo do nível do país. Esse tipo indica uma divisão civil secundária. Nem todos os países incluem esses níveis administrativos.
  • administrative_area_level_7 indica uma entidade civil de sétima ordem abaixo do nível de país. Esse tipo indica uma divisão civil secundária. Nem todos os países incluem esses níveis administrativos.
  • colloquial_area indica um nome alternativo usado comumente para a entidade.
  • locality indica uma entidade política de cidade ou município incorporada.
  • sublocality indica uma entidade civil de primeira ordem abaixo da localidade. Para alguns locais, é possível receber um dos tipos adicionais: sublocality_level_1 até sublocality_level_5. Cada nível de sublocalidade é uma entidade civil. Números maiores indicam uma área geográfica menor.
  • neighborhood indica um bairro nomeado
  • premise indica um local nomeado, normalmente um edifício ou condomínios com um nome comum
  • subpremise indica uma entidade de primeira ordem abaixo de uma localização com nome, geralmente um prédio dentro de um conjunto que prédios com um nome em comum
  • plus_code indica uma referência de local codificada, derivada de latitude e longitude. Os Plus Codes podem ser usados em vez de endereços nos lugares em que não existem, ou seja, quando os imóveis não estão numerados ou as ruas não têm nome. Para mais detalhes, consulte https://plus.codes.
  • postal_code indica um código postal, conforme usado para endereçar correspondências no país.
  • natural_feature indica um recurso natural de destaque.
  • airport indica um aeroporto.
  • park indica um parque nomeado.
  • point_of_interest indica um ponto de interesse nomeado. Normalmente, esses "PDIs" são entidades locais de destaque que não se encaixam facilmente em outra categoria, como "Empire State Building" ou "Torre Eiffel".

location_type: um filtro de um ou mais tipos de local, separados por um traço (|). Se o parâmetro contém vários tipos de local, a API retorna todos os endereços que correspondem a qualquer um dos tipos. Uma observação sobre o processamento: o parâmetro location_type não restringe a pesquisa aos tipos de local especificados. Em vez disso, o location_type atua como um filtro pós-pesquisa: a API busca todos os resultados da latlng especificada e descarta esses resultados que não correspondem aos tipos de local especificados. Os seguintes valores são aceitos:

  • "ROOFTOP" retorna apenas os endereços que têm informações de local precisas para o Google com precisão de endereço.
  • "RANGE_INTERPOLATED" retorna apenas os endereços que refletem uma aproximação (geralmente em uma via) interpolada entre dois pontos precisos (como interseções). Um intervalo interpolado geralmente indica que os geocódigos de telhado não estão disponíveis para um endereço.
  • "GEOMETRIC_CENTER" retorna apenas centros geométricos de um local, como uma polilinha (por exemplo, uma rua) ou polígono (região).
  • "APPROXIMATE" retorna apenas os endereços que são caracterizados como aproximados.

Se os filtros result_type e location_type estiverem presentes, a API retornará apenas os resultados que correspondem aos valores result_type e location_type. Se nenhum dos valores de filtro for aceitável, a API retornará ZERO_RESULTS.

Exemplo de geocodificação inversa

A consulta a seguir contém um valor de latitude/longitude para uma localização no Brooklyn:

https://maps.googleapis.com/maps/api/geocode/json?latlng=40.714224,-73.961452&key=YOUR_API_KEY

Observação: verifique se não há espaço entre os valores de latitude e longitude ao serem transmitidos no parâmetro latlng.

A consulta acima retorna o seguinte resultado:

{
   "results" : [
      {
         "address_components" : [
            {
               "long_name" : "277",
               "short_name" : "277",
               "types" : [ "street_number" ]
            },
            {
               "long_name" : "Bedford Avenue",
               "short_name" : "Bedford Ave",
               "types" : [ "route" ]
            },
            {
               "long_name" : "Williamsburg",
               "short_name" : "Williamsburg",
               "types" : [ "neighborhood", "political" ]
            },
            {
               "long_name" : "Brooklyn",
               "short_name" : "Brooklyn",
               "types" : [ "sublocality", "political" ]
            },
            {
               "long_name" : "Kings",
               "short_name" : "Kings",
               "types" : [ "administrative_area_level_2", "political" ]
            },
            {
               "long_name" : "New York",
               "short_name" : "NY",
               "types" : [ "administrative_area_level_1", "political" ]
            },
            {
               "long_name" : "United States",
               "short_name" : "US",
               "types" : [ "country", "political" ]
            },
            {
               "long_name" : "11211",
               "short_name" : "11211",
               "types" : [ "postal_code" ]
            }
         ],
         "formatted_address" : "277 Bedford Avenue, Brooklyn, NY 11211, USA",
         "geometry" : {
            "location" : {
               "lat" : 40.714232,
               "lng" : -73.9612889
            },
            "location_type" : "ROOFTOP",
            "viewport" : {
               "northeast" : {
                  "lat" : 40.7155809802915,
                  "lng" : -73.9599399197085
               },
               "southwest" : {
                  "lat" : 40.7128830197085,
                  "lng" : -73.96263788029151
               }
            }
         },
         "place_id" : "ChIJd8BlQ2BZwokRAFUEcm_qrcA",
         "types" : [ "street_address" ]
      },

  ... Additional <code>results[]</code> ...

Observe que o geocodificador inverso retornou mais de um resultado. Os resultados "formatted_address" não são apenas endereços postais, mas qualquer forma de nomear um local geograficamente. Por exemplo, ao geocodificar um ponto na cidade de Chicago, o ponto geocodificado pode ser indicado como um endereço, como a cidade (Chicago), como o estado (Illinois) ou como um país (Estados Unidos). Todos são "endereços" para o geocodificador. O geocodificador inverso retorna qualquer um desses tipos como resultados válidos.

O geocodificador inverso corresponde a entidades políticas (países, províncias, cidades e bairros), endereços e códigos postais.

A lista completa de valores formatted_address retornados pela consulta anterior é mostrada abaixo.

"formatted_address" : "277 Bedford Avenue, Brooklyn, NY 11211, USA",
"formatted_address" : "Grand St/Bedford Av, Brooklyn, NY 11211, USA",
"formatted_address" : "Grand St/Bedford Av, Brooklyn, NY 11249, USA",
"formatted_address" : "Bedford Av/Grand St, Brooklyn, NY 11211, USA",
"formatted_address" : "Brooklyn, NY 11211, USA",
"formatted_address" : "Williamsburg, Brooklyn, NY, USA",
"formatted_address" : "Brooklyn, NY, USA",
"formatted_address" : "New York, NY, USA",
"formatted_address" : "New York, USA",
"formatted_address" : "United States",

Geralmente, os endereços são retornados da mais específica para a menos específica. O endereço mais exato é o resultado com mais destaque, como neste caso. Observe que retornamos diferentes tipos de endereço, desde o endereço mais específico até entidades políticas menos específicas, como bairros, cidades, municípios, estados etc. Se quiser corresponder a um tipo específico de endereço, consulte a seção abaixo sobre como restringir os resultados por tipo.

Observação: a geocodificação inversa é uma estimativa. O geocodificador tentará encontrar a localização endereçável mais próxima dentro de uma determinada tolerância. Se nenhuma correspondência for encontrada, o geocodificador não retornará resultados.

Geocodificação inversa filtrada por tipo

O exemplo a seguir filtra os endereços retornados para incluir apenas aqueles com um tipo de local ROOFTOP e street_address.

https://maps.googleapis.com/maps/api/geocode/json?latlng=40.714224,-73.961452
&location_type=ROOFTOP&result_type=street_address&key=YOUR_API_KEY

Observação:esses filtros só são válidos para geocodificação inversa.

Respostas de geocodificação inversa

O formato da resposta de geocodificação inversa é igual ao da resposta de geocodificação. Consulte Respostas de geocodificação. Veja abaixo os códigos de status possíveis em uma resposta de geocodificação inversa.

Códigos de status de geocodificação inversa

O campo "status" no objeto de resposta de geocodificação contém o status da solicitação e pode conter informações de depuração para ajudar você a identificar por que a geocodificação inversa não está funcionando. O campo "status" pode conter os seguintes valores:

  • "OK" indica que não houve erros e que pelo menos um endereço foi retornado.
  • "ZERO_RESULTS" indica que a geocodificação inversa foi bem-sucedida, mas não retornou resultados. Isso pode ocorrer se o geocodificador recebeu um latlng em um local remoto.
  • "OVER_QUERY_LIMIT" indica que você excedeu sua cota.
  • "REQUEST_DENIED" indica que a solicitação foi negada. Possível porque a solicitação inclui um parâmetro result_type ou location_type, mas não uma chave de API.
  • "INVALID_REQUEST" geralmente indica uma das seguintes opções:
    • A consulta (address, components ou latlng) está ausente.
    • Um result_type ou location_type inválido foi informado.
  • "UNKNOWN_ERROR" indica que a solicitação não foi processada devido a um erro de servidor. Se você tentar novamente, a solicitação pode dar certo.

Geocódigos invertidos de geocodificação

O campo plus_code no objeto de resposta de geocodificação contém um Plus Code que se aproxima melhor da latitude e longitude consultadas. Além disso, a matriz de resultados JSON conterá, na maioria dos casos, um resultado completo de geocodificação com um tipo plus_code e um endereço que contém um Plus Code. A distância entre o Plus Code decodificado e o ponto de solicitação é garantida para menos de 10 metros.

Solicitar solicitação e resposta de geocodificação

Parâmetros obrigatórios

  • place_id: o ID do lugar em que você quer receber o endereço legível. O ID do lugar é um identificador exclusivo que pode ser usado com outras APIs do Google. Por exemplo, é possível usar o placeID retornado pela API Roads para receber o endereço de um ponto alinhado. Para mais informações sobre IDs de lugar, consulte a visão geral de IDs de lugar.
  • key: a chave de API do seu aplicativo. Essa chave identifica seu aplicativo para fins de gerenciamento de cotas. Saiba como receber uma chave.

Os parâmetros opcionais são os mesmos da geocodificação inversa.

A consulta a seguir contém um ID de local para uma localização no Brooklyn:

https://maps.googleapis.com/maps/api/geocode/json?place_id=ChIJd8BlQ2BZwokRAFUEcm_qrcA
&key=YOUR_API_KEY

A consulta acima retorna o seguinte resultado:

{
   "results" : [
      {
         "address_components" : [
            {
               "long_name" : "277",
               "short_name" : "277",
               "types" : [ "street_number" ]
            },
            {
               "long_name" : "Bedford Avenue",
               "short_name" : "Bedford Ave",
               "types" : [ "route" ]
            },
            {
               "long_name" : "Williamsburg",
               "short_name" : "Williamsburg",
               "types" : [ "neighborhood", "political" ]
            },
            {
               "long_name" : "Brooklyn",
               "short_name" : "Brooklyn",
               "types" : [ "political", "sublocality", "sublocality_level_1" ]
            },
            {
               "long_name" : "Kings County",
               "short_name" : "Kings County",
               "types" : [ "administrative_area_level_2", "political" ]
            },
            {
               "long_name" : "New York",
               "short_name" : "NY",
               "types" : [ "administrative_area_level_1", "political" ]
            },
            {
               "long_name" : "United States",
               "short_name" : "US",
               "types" : [ "country", "political" ]
            },
            {
               "long_name" : "11211",
               "short_name" : "11211",
               "types" : [ "postal_code" ]
            }
         ],
         "formatted_address" : "277 Bedford Ave, Brooklyn, NY 11211, USA",
         "geometry" : {
            "location" : {
               "lat" : 40.7142205,
               "lng" : -73.9612903
            },
            "location_type" : "ROOFTOP",
            "viewport" : {
               "northeast" : {
                  "lat" : 40.71556948029149,
                  "lng" : -73.95994131970849
               },
               "southwest" : {
                  "lat" : 40.7128715197085,
                  "lng" : -73.9626392802915
               }
            }
         },
         "place_id" : "ChIJd8BlQ2BZwokRAFUEcm_qrcA",
         "types" : [ "street_address" ]
      }
   ],
   "status" : "OK"
}

Para ver uma descrição dos campos na resposta, consulte Respostas de geocodificação.