A API Geocoding v4 é um serviço que oferece geocodificação, geocodificação inversa de endereços e IDs de lugar, além de informações de destino.
Geocodificação é o processo de converter endereços (como um endereço de rua) em coordenadas geográficas (como latitude e longitude), que você pode usar para colocar marcadores em um mapa ou posicioná-lo.
A geocodificação inversa é o processo de conversão de 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 de lugar.
Exemplo de solicitação e resposta
Você acessa a API Geocoding por uma interface HTTP. Confira a seguir exemplos de solicitações de geocodificação e geocodificação inversa.
Solicitação e resposta de geocodificação (pesquisa de latitude/longitude)
O exemplo a seguir solicita a latitude e a longitude de "1600 Amphitheatre Parkway, Mountain View, CA" e especifica que a saída precisa estar no formato JSON.
curl -H "X-Goog-Api-Key: YOUR_API_KEY" \ "https://geocode.googleapis.com/v4beta/geocode/address/1600+Amphitheatre+Parkway,+Mountain+View,+CA"
Para testar, insira o URL no navegador da Web. Não se esqueça de substituir YOUR_API_KEY pela chave de API real.
A resposta inclui a latitude e a longitude do endereço.
Consulte o guia do desenvolvedor para mais informações sobre como criar URLs de solicitação de geocodificação, parâmetros disponíveis e como entender a resposta.
Veja a seguir um exemplo de resposta de geocodificação em JSON:
{ "results": [ { "place": "//places.googleapis.com/places/ChIJ2Z2idB66j4ARI43TG-9RoCQ", "placeId": "ChIJ2Z2idB66j4ARI43TG-9RoCQ", "location": { "latitude": 37.4438238, "longitude": -122.0869895 }, "granularity": "ROOFTOP", "viewport": { "low": { "latitude": 37.4424748197085, "longitude": -122.0883384802915 }, "high": { "latitude": 37.445172780291493, "longitude": -122.08564051970852 } }, "formattedAddress": "1600 Amphitheatre Pkwy, Mountain View, CA 94043, USA", "postalAddress": { "regionCode": "US", "languageCode": "en", "postalCode": "94043-1351", "administrativeArea": "CA", "locality": "Mountain View", "addressLines": [ "1600 Amphitheatre Pkwy" ] }, "addressComponents": [ { "longText": "1600", "shortText": "1600", "types": [ "street_number" ] }, { "longText": "Amphitheatre Parkway", "shortText": "Amphitheatre Pkwy", "types": [ "route" ], "languageCode": "en" }, { "longText": "Mountain View", "shortText": "Mountain View", "types": [ "locality", "political" ], "languageCode": "en" }, { "longText": "Santa Clara County", "shortText": "Santa Clara County", "types": [ "administrative_area_level_2", "political" ], "languageCode": "en" }, { "longText": "California", "shortText": "CA", "types": [ "administrative_area_level_1", "political" ], "languageCode": "en" }, { "longText": "United States", "shortText": "US", "types": [ "country", "political" ], "languageCode": "en" }, { "longText": "94043", "shortText": "94043", "types": [ "postal_code" ] }, { "longText": "1351", "shortText": "1351", "types": [ "postal_code_suffix" ] } ], "types": [ "premise", "street_address" ] } ] }
Solicitação e resposta de geocodificação reversa (pesquisa de endereço)
O exemplo a seguir solicita o endereço correspondente a uma determinada latitude/longitude no Brooklyn, NY, EUA. Ele especifica que a saída deve ser no formato JSON.
https://geocode.googleapis.com/v4beta/geocode/location/37.4225508,-122.0846338?key=YOUR_API_KEYPara testar, insira o URL no navegador da Web. Não se esqueça de substituir "YOUR_API_KEY" pela chave de API real. A resposta inclui um endereço legível para a localização de latitude e longitude.
Consulte o guia do desenvolvedor para mais informações sobre como criar URLs de solicitação de geocodificação inversa, parâmetros disponíveis e como entender a resposta.
Veja a seguir um exemplo de resposta de geocodificação reversa em JSON:
{ "results": [ { "place": "//places.googleapis.com/places/ChIJHRNUiQK6j4ARJ__Hrbt6qsE", "placeId": "ChIJHRNUiQK6j4ARJ__Hrbt6qsE", "location": { "latitude": 37.4225657, "longitude": -122.08465439999999 }, "granularity": "ROOFTOP", "viewport": { "low": { "latitude": 37.421214719708509, "longitude": -122.08603273029148 }, "high": { "latitude": 37.423912680291508, "longitude": -122.0833347697085 } }, "bounds": { "low": { "latitude": 37.4225178, "longitude": -122.08484599999998 }, "high": { "latitude": 37.422609600000008, "longitude": -122.0845215 } }, "formattedAddress": "Google Building 40, 1600 Amphitheatre Pkwy, Mountain View, CA 94043, USA", "postalAddress": { "regionCode": "US", "languageCode": "en", "postalCode": "94043", "administrativeArea": "CA", "locality": "Mountain View", "addressLines": [ "Google Building 40", "1600 Amphitheatre Pkwy" ] }, "addressComponents": [ { "longText": "Google Building 40", "shortText": "Google Building 40", "types": [ "premise" ], "languageCode": "en" }, { "longText": "1600", "shortText": "1600", "types": [ "street_number" ] }, { "longText": "Amphitheatre Parkway", "shortText": "Amphitheatre Pkwy", "types": [ "route" ], "languageCode": "en" }, { "longText": "Mountain View", "shortText": "Mountain View", "types": [ "locality", "political" ], "languageCode": "en" }, { "longText": "Santa Clara County", "shortText": "Santa Clara County", "types": [ "administrative_area_level_2", "political" ], "languageCode": "en" }, { "longText": "California", "shortText": "CA", "types": [ "administrative_area_level_1", "political" ], "languageCode": "en" }, { "longText": "United States", "shortText": "US", "types": [ "country", "political" ], "languageCode": "en" }, { "longText": "94043", "shortText": "94043", "types": [ "postal_code" ] } ], "types": [ "street_address", "subpremise" ] }, ... Additional results truncated in this example[] ... }
Autenticação, cotas, preços e políticas
Autenticação
Para usar a API Geocoding, primeiro é necessário ativar a API e conseguir as credenciais de autenticação adequadas. Para mais informações, consulte Começar a usar a Plataforma Google Maps.
Cotas e preços
Consulte a página de uso e faturamento para detalhes sobre as cotas e os preços definidos para a API Geocoding.
Políticas
O uso da API Geocoding precisa estar de acordo com as políticas da API.