El término geocodificación generalmente hace referencia a la traducción de un lenguaje en una ubicación en un mapa. El proceso de hacer lo contrario, traducir una ubicación en el mapa en una dirección legible por humanos, se conoce como geocodificación inversa.
Solicitudes de geocodificación inversa
Parámetros obligatorios
latlng
: La latitud y la longitud coordenadas que especifiquen la ubicación a la que deseas la ubicación más cercana, en una dirección legible por humanos.key
: Es la clave de API de tu aplicación. Esta clave identifica tu aplicación para la administración de cuotas. Aprende a hacer lo siguiente: obtener una clave.
Parámetros opcionales
Son los parámetros opcionales que puedes incluir en un orden inverso solicitud de geocodificación:
language
: Es el idioma en el que se muestran los resultados.- Consulta la lista de sitios web idiomas. Google actualiza con frecuencia los idiomas admitidos, así que puede no ser exhaustiva.
- Si no se proporciona
language
, el geocodificador intenta usar el idioma de preferencia que se especifica en el encabezadoAccept-Language
o el idioma nativo del el dominio desde el que se envía la solicitud. - El geocodificador se encarga de proporcionar una dirección legible tanto para el usuario como para los locales. Para lograr ese objetivo, devuelve direcciones en el idioma local, transliteradas al de secuencia de comandos legible por el usuario si es necesario, respetando la idioma. Todas las demás direcciones se devuelven en la forma idioma. Los componentes de la dirección se devuelven en el mismo idioma. que se elige del primer componente.
- Si un nombre no está disponible en el idioma preferido, el geocodificador usa la coincidencia más cercana.
region
: Es el código de región, especificado como ccTLD. ("dominio de nivel superior") de dos caracteres. El parámetro también puede afectar resultados de acuerdo con las leyes aplicables.result_type
: Es un filtro de uno o más tipos de dirección. separadas por una canalización (|
). Si el parámetro contiene varios tipos de direcciones, la API devuelve todas las direcciones que coinciden con cualquiera de los tipos. Nota sobre el procesamiento: el parámetroresult_type
no restringe la búsqueda a los tipos de dirección especificados. En cambio, elresult_type
actúa como un filtro posterior a la búsqueda: la API recupera todo resultados para lalatlng
especificada y, luego, descarta esos resultados que no coinciden con los tipos de dirección especificados. Los siguientes valores se compatibles:street_address
indica una dirección precisa.route
indica una ruta designada (como "US 101").intersection
indica una intersección principal, generalmente de dos rutas principales.political
indica una entidad política. Generalmente, este tipo indica un polígono de alguna Administración pública.country
: Indica la entidad política nacional y, por lo general, es el tipo de orden más alto que muestra el geocodificador.administrative_area_level_1
indica una entidad pública de primer orden por debajo del nivel de país. En Estados Unidos, estos niveles administrativos son los estados. No todos los países poseen estos niveles administrativos. En la mayoría de los casos, los nombres cortos de administrative_area_level_1 coincidirán considerablemente con las subdivisiones de ISO 3166-2 y otras listas conocidas; sin embargo, no podemos garantizarlo debido a que nuestros resultados de geocodificación se basan en diferentes indicadores y datos de ubicación.administrative_area_level_2
indica una entidad pública de segundo orden por debajo del nivel de país. En Estados Unidos, estos niveles administrativos son los condados. No todos los países poseen estos niveles administrativos.administrative_area_level_3
indica una entidad pública de tercer orden por debajo del nivel de país. Este tipo indica una división política inferior. No todos los países poseen estos niveles administrativos.administrative_area_level_4
indica una entidad pública de cuarto orden por debajo del nivel de país. Este tipo indica una división política inferior. No todos los países poseen estos niveles administrativos.administrative_area_level_5
indica una entidad pública de quinto orden por debajo del nivel de país. Este tipo indica una división política inferior. No todos los países poseen estos niveles administrativos.administrative_area_level_6
indica una entidad pública de sexto orden por debajo del nivel de país. Este tipo indica una división política inferior. No todos los países poseen estos niveles administrativos.administrative_area_level_7
indica una entidad pública de séptimo orden por debajo del nivel de país. Este tipo indica una división política inferior. No todos los países poseen estos niveles administrativos.colloquial_area
indica un nombre alternativo de uso general para la entidad.locality
indica una entidad política constituida como ciudad o pueblo.sublocality
indica una entidad pública de primer orden por debajo de una localidad. Algunas ubicaciones pueden recibir uno de los tipos adicionalessublocality_level_1
asublocality_level_5
. Cada nivel de sublocalidad es una entidad pública. Los números más altos indican un área geográfica más pequeña.neighborhood
indica un vecindario designado.premise
indica una ubicación designada, generalmente un edificio o un conjunto de edificios con un nombre común.subpremise
indica una entidad de primer orden por debajo de una ubicación designada, generalmente, un edificio único dentro de un conjunto de edificios con un nombre común.plus_code
indica una referencia de ubicación codificada, derivada de la latitud y la longitud. Los Plus Codes se pueden usar como reemplazo de las direcciones en los lugares donde estas no existen (donde los edificios no están numerados o las calles no tienen nombre). Visita https://plus.codes para obtener más información.postal_code
indica un código postal, tal como se usa para identificar una dirección de correo postal dentro del país.natural_feature
indica un componente natural destacado.airport
indica un aeropuerto.park
indica un parque designado.point_of_interest
indica un lugar de interés designado. Por lo general, estos "lugares de interés" son entidades locales destacadas que no encajan con facilidad en otras categorías, como "Edificio Empire State" o "Torre Eiffel".
location_type
: Es un filtro de uno o más tipos de ubicación. separadas por una canalización (|
). Si el parámetro contiene varios tipos de ubicación, la API devuelve todas las direcciones que coinciden con cualquiera de los tipos. Nota sobre el procesamiento: El parámetrolocation_type
no restringe la búsqueda a los tipos de ubicación especificados. En cambio, ellocation_type
actúa como un filtro posterior a la búsqueda: la API recupera todo resultados para lalatlng
especificada y, luego, descarta esos resultados que no coinciden con los tipos de ubicación especificados. Se admiten los siguientes valores:"ROOFTOP"
solo devuelve las direcciones para las que Google tiene información de ubicación precisa hasta la precisión de la dirección."RANGE_INTERPOLATED"
solo devuelve las direcciones que reflejan una aproximación (generalmente en una carretera) interpolada entre dos puntos precisos (como intersecciones). Por lo general, un rango interpolado indica que no hay geocódigos exactos disponibles para una dirección."GEOMETRIC_CENTER"
solo muestra elementos geométricos. centros de una ubicación, como una polilínea (por ejemplo, una calle) o polígono (región)."APPROXIMATE"
devuelve solo las direcciones que se caracterizados como aproximados.
extra_computations
: Usa este parámetro para especificar las siguientes funciones adicionales en la respuesta:ADDRESS_DESCRIPTORS
— Ver descriptores de dirección para obtener más información.BUILDING_AND_ENTRANCES
— Ver entradas y esquemas de los edificios para obtener más detalles.
extra_computations
en la solicitud de cada función. por ejemplo:extra_computations=ADDRESS_DESCRIPTORS&extra_computations=BUILDING_AND_ENTRANCES
Si los filtros result_type
y location_type
están presentes, la API
solo muestra los resultados que coinciden con result_type
y con el
location_type
valores. Si ninguno de los valores de filtro es aceptable,
La API muestra ZERO_RESULTS
.
Ejemplo de geocodificación inversa
La siguiente consulta contiene el valor de latitud/longitud para una ubicación en Brooklyn:
https://maps.googleapis.com/maps/api/geocode/json?latlng=40.714224,-73.961452&key=YOUR_API_KEY
La consulta anterior devuelve el siguiente 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> ...
Ten en cuenta que el geocodificador inverso devolvió más de un resultado. El
Los resultados de "formatted_address"
no son solo direcciones postales, sino que
de cualquier manera de nombrar geográficamente una ubicación. Por ejemplo, cuando geocodificas un punto
en la ciudad de Chicago, el punto geocodificado puede indicarse como una dirección,
como ciudad (Chicago), estado (Illinois) o como país (Estados Unidos
Estados. Para el geocodificador, son todas “direcciones”. El geocodificador inverso muestra cualquiera de estos tipos como resultados válidos.
La geocodificación inversa establece coincidencias con entidades políticas (países, provincias, ciudades y vecindarios), direcciones y códigos postales.
La lista completa de los valores de formatted_address
que muestra el
consulta anterior se muestra a continuación.
{
"plus_code" : {
"compound_code" : "P27Q+MCM New York, NY, USA",
"global_code" : "87G8P27Q+MCM"
},
"results" : [
{
"formatted_address" : "277 Bedford Ave, Brooklyn, NY 11211, USA",
...
"types" : [ "street_address" ]
},
{
"formatted_address" : "279 Bedford Ave, Brooklyn, NY 11211, USA",
...
"types" : [ "premise" ]
},
{
"formatted_address" : "277 Bedford Ave, Brooklyn, NY 11211, USA",
...
"types" : [ "establishment", "point_of_interest" ]
},
{
"formatted_address" : "291-275 Bedford Ave, Brooklyn, NY 11211, USA",
...
"types" : [ "route" ]
},
{
"formatted_address" : "P27Q+MC New York, NY, USA",
...
"types" : [ "plus_code" ]
},
{
"formatted_address" : "South Williamsburg, Brooklyn, NY, USA",
...
"types" : [ "neighborhood", "political" ]
},
{
"formatted_address" : "Brooklyn, NY 11211, USA",
...
"types" : [ "postal_code" ]
},
{
"formatted_address" : "Williamsburg, Brooklyn, NY, USA",
...
"types" : [ "neighborhood", "political" ]
},
{
"formatted_address" : "Kings County, Brooklyn, NY, USA",
...
"types" : [ "administrative_area_level_2", "political" ]
},
{
"formatted_address" : "Brooklyn, NY, USA",
...
"types" : [ "political", "sublocality", "sublocality_level_1" ]
},
{
"formatted_address" : "New York, NY, USA",
...
"types" : [ "locality", "political" ]
},
{
"formatted_address" : "New York, USA",
...
"types" : [ "administrative_area_level_1", "political" ]
},
{
"formatted_address" : "United States",
...
"types" : [ "country", "political" ]
}
],
"status" : "OK"
}
Esta API devuelve diferentes tipos de direcciones, desde la más específica dirección a entidades políticas menos específicas, como vecindarios, ciudades, condados y estados. La dirección más exacta suele resultado prominente, como en este caso. Si quieres hacer coincidir un tipo específico de dirección, consulta la siguiente sección sobre restricciones resultados por tipo. Debido a esto, la ubicación de los resultados en relación con los demás puede variar.
Geocodificación inversa filtrada por tipo
El siguiente ejemplo filtra las direcciones devueltas para incluir solo aquellas
con un tipo de ubicación de ROOFTOP
y un tipo de dirección de
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
Nota: Estos filtros solo son válidos para geocodificación inversa.
Respuestas de geocodificación inversa
El formato de la respuesta de geocodificación inversa es el mismo que el de la respuesta de respuesta. Consulta Respuestas de Geocoding. A continuación se indican los códigos de estado posibles en una respuesta de geocodificación inversa.
Códigos de estado de la geocodificación inversa
El campo "status"
del objeto de la respuesta de Geocoding contiene
el estado de la solicitud y puede contener información de depuración para ayudarte
descubrir por qué no funciona la geocodificación inversa El "status"
puede contener los siguientes valores:
"OK"
indica que no se produjeron errores y que, al menos, uno se devolvió la dirección IP."ZERO_RESULTS"
indica que se aplicó la geocodificación inversa fue exitosa, pero no mostró resultados. Esto puede ocurrir si se pasó unlatlng
en una ubicación remota."OVER_QUERY_LIMIT"
indica que superaste tu cuota."REQUEST_DENIED"
indica que se rechazó la solicitud. Posiblemente porque la solicitud incluye unresult_type
o Es el parámetrolocation_type
, pero no incluye una clave de API."INVALID_REQUEST"
generalmente indica una de las siguientes opciones:- La consulta (
address
,components
olatlng
). - Un
result_type
olocation_type
no válido dado.
- La consulta (
"UNKNOWN_ERROR"
indica que no se pudo procesar la solicitud debido a un error del servidor. La solicitud podría completarse con éxito si realizas un nuevo intento.
Plus Codes de geocodificación inversa
El campo plus_code
de la respuesta de Geocoding contiene un Plus Code que
se aproxime mejor a la latitud y longitud consultadas.
Además, en la mayoría de los casos, el array de resultados JSON contiene una geocodificación completa
resultado con un tipo plus_code
y una dirección que contiene un signo más
código. La distancia entre el Plus Code decodificado y el punto de solicitud es
inferior a 10 metros.