Geocoding API

Este servicio también está disponible como parte de la API de JavaScript de Maps del lado del cliente , o para uso del lado del servidor con el cliente Java, el cliente Python, el cliente Go y el cliente Node.js para los servicios de Google Maps.

¿Qué es la codificación geográfica?

La codificación geográfica es el proceso de convertir direcciones (como "1600 Amphitheatre Parkway, Mountain View, CA") en coordenadas geográficas (como latitud 37.423021 y longitud -122.083739), que puede usar para colocar marcadores en un mapa o posicionar el mapa.

La codificación geográfica inversa es el proceso de convertir coordenadas geográficas en una dirección legible por humanos.

También puede utilizar la API de codificación geográfica para encontrar la dirección de un ID de lugar determinado .

La API de codificación geográfica proporciona una forma directa de acceder a estos servicios a través de una solicitud HTTP. El siguiente ejemplo utiliza el servicio de codificación geográfica a través de la API de JavaScript de Maps para demostrar la funcionalidad básica.

Vea este ejemplo en pantalla completa para ver la funcionalidad adicional de la API de codificación geográfica, como más opciones disponibles para personalizar la solicitud (filtrado de componentes y personalización de la ventana gráfica) y más detalles sobre cada resultado.

Antes de que empieces

Este documento describe el servicio web API de codificación geográfica. Está destinado a desarrolladores de sitios web y dispositivos móviles que desean utilizar datos de codificación geográfica en mapas proporcionados por una de las API de Google Maps Platform.

Nota : Este servicio generalmente está diseñado para geocodificar direcciones estáticas (conocidas de antemano) para colocar el contenido de la aplicación en un mapa; este servicio no está diseñado para responder en tiempo real a las entradas del usuario. Para la codificación geográfica dinámica (por ejemplo, dentro de un elemento de la interfaz de usuario), consulte la documentación del codificador geográfico del cliente de la API de JavaScript de Maps y / o las API de ubicación de los servicios de Google Play .

Antes de comenzar a desarrollar con la API de codificación geográfica, revise los requisitos de autenticación (necesita una clave de API) y el uso de la API y la información de facturación (debe habilitar la facturación en su proyecto).

Formato de solicitud de API de codificación geográfica

Una solicitud de API de codificación geográfica tiene la siguiente forma:

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

donde outputFormat puede ser cualquiera de los siguientes valores:

  • json(recomendado) indica la salida en notación de objetos JavaScript (JSON); o
  • xml indica salida en XML

La seguridad es importante y se recomienda HTTPS siempre que sea posible, especialmente para aplicaciones que incluyen datos confidenciales del usuario, como la ubicación de un usuario, en las solicitudes. El uso de la encriptación HTTPS hace que su aplicación sea más segura y más resistente a espionaje o manipulación.

Nota : las URL deben estar codificadas correctamente para que sean válidas y están limitadas a 8192 caracteres para todos los servicios web. Tenga en cuenta este límite al crear sus URL. Tenga en cuenta que los diferentes navegadores, proxies y servidores también pueden tener diferentes límites de caracteres de URL.

Algunos parámetros son obligatorios mientras que otros son opcionales. Como es estándar en las URL, los parámetros se separan mediante el carácter comercial ( &).

El resto de esta página describe la geocodificación y la geocodificación inversa por separado, porque hay diferentes parámetros disponibles para cada tipo de solicitud.

Codificación geográfica (búsqueda de latitud/longitud)

Todos los caracteres reservados (por ejemplo, el signo más "+") deben estar codificados como URL.

Parámetros obligatorios en una solicitud de codificación geográfica:

  • address: La dirección postal o el código plus que desea geocodificar. Especifique las direcciones de acuerdo con el formato utilizado por el servicio postal nacional del país en cuestión. Deben evitarse elementos de dirección adicionales, como nombres comerciales y números de unidad, suite o piso. Los elementos de la dirección de la calle deben estar delimitados por espacios (que se muestran aquí como URL de escape %20):
address=24%20Sussex%20Drive%20Ottawa%20ON
Formatee los códigos más como se muestra aquí (los signos más se escapan a la %2BURL y los espacios se escapan a la URL %20):
  • El código global es un código de área de 4 caracteres y un código local de 6 caracteres o más (849VCWC8 + R9 es 849VCWC8%2BR9).
  • El código compuesto es un código local de 6 caracteres o más con una ubicación explícita (CWC8 + R9 Mountain View, CA, EE CWC8%2BR9%20Mountain%20View%20CA%20USA. UU. es ).
--O--
components - Un filtro de componentes con elementos separados por una tubería ( |). El filtro de componentes también se acepta como parámetro opcional si addressse proporciona un. Cada elemento del filtro de componentes consta de un component:valuepar y restringe por completo los resultados del geocodificador. Consulte más información sobre el filtrado de componentes a continuación.
  • key- La clave API de su aplicación. Esta clave identifica su aplicación a los efectos de la gestión de cuotas. Aprenda a obtener una llave.

Nota: Los clientes del Plan Premium de Google Maps Platform pueden usar una clave API o una identificación de cliente válida y una firma digital en sus solicitudes de codificación geográfica. Obtenga más información sobre los parámetros de autenticación para los clientes del Plan Premium.

Consulte las preguntas frecuentes para obtener orientación adicional.

Parámetros opcionales en una solicitud de codificación geográfica:

  • bounds: El cuadro delimitador de la ventana gráfica dentro del cual sesgar los resultados de codificación geográfica de forma más prominente. Este parámetro solo influirá, no restringirá completamente, los resultados del geocodificador. (Para obtener más información, consulte Personalización de la ventana gráfica a continuación).
  • language: El idioma en el que se devuelven los resultados.
    • Consulte la lista de idiomas admitidos . Google actualiza a menudo los idiomas admitidos, por lo que es posible que esta lista no sea exhaustiva.
    • Si language no se proporciona, el geocodificador intenta utilizar el idioma preferido como se especifica en el encabezado Accept-Language, o el idioma nativo del dominio desde el cual se envía la solicitud.
    • El geocodificador hace todo lo posible para proporcionar una dirección postal que sea legible tanto para el usuario como para los lugareños. Para lograr ese objetivo, devuelve las direcciones de las calles en el idioma local, transcrito a un guión legible por el usuario si es necesario, observando el idioma preferido. Todas las demás direcciones se devuelven en el idioma preferido. Todos 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 utiliza la coincidencia más cercana.
    • El idioma preferido tiene una pequeña influencia en el conjunto de resultados que la API elige devolver y en el orden en que se devuelven. El geocodificador interpreta las abreviaturas de forma diferente según el idioma, como las abreviaturas de los tipos de calles o sinónimos que pueden ser válidos en un idioma pero no en otro. Por ejemplo, utca y tér son sinónimos de calle y plaza respectivamente en húngaro.
  • region- El código de región, especificado como un valor de dos caracteres ccTLD ("dominio de nivel superior"). Este parámetro solo influirá, no restringirá completamente, los resultados del geocodificador. (Para obtener más información, consulte Polarización regional a continuación).
  • components- Un filtro de componentes con elementos separados por una tubería ( |). El filtro de componentes es obligatorio si la solicitud no incluye un address. Cada elemento del filtro de componentes consta de un component:valuepar y restringe por completo los resultados del geocodificador. Consulte más información sobre el filtrado de componentes a continuación.

Respuestas de Geocoding

Las respuestas de codificación geográfica se devuelven en el formato indicado por la bandera output dentro de la ruta de la solicitud de URL.

En este ejemplo, la API de codificación geográfica solicita una respuesta json para una consulta sobre "1600 Amphitheatre Parkway, Mountain View, CA".

Esta solicitud demuestra el uso de la bandera output JSON:

https://maps.googleapis.com/maps/api/geocode/json?address=1600+Amphitheatre+Parkway,
+Mountain+View,+CA&key=YOUR_API_KEY

Esta solicitud demuestra el uso de la bandera output XML:

https://maps.googleapis.com/maps/api/geocode/xml?address=1600+Amphitheatre+Parkway,
+Mountain+View,+CA&key=YOUR_API_KEY

Códigos de estado

El campo "status" dentro del objeto de respuesta de codificación geográfica contiene el estado de la solicitud y puede contener información de depuración para ayudarlo a averiguar por qué no funciona la codificación geográfica. El campo "status" puede contener los siguientes valores:

  • "OK" indica que no se produjeron errores; la dirección se analizó correctamente y se devolvió al menos un código geográfico.
  • "ZERO_RESULTS" indica que el código geográfico se realizó correctamente pero no arrojó. Esto puede ocurrir si al geocodificador se le pasó un código no existente resultados address.
  • OVER_DAILY_LIMIT indica cualquiera de los siguientes:
    • Falta la clave API o no es válida.
    • No se ha habilitado la facturación en su cuenta.
    • Se superó un límite de uso autoimpuesto.
    • El método de pago proporcionado ya no es válido (por ejemplo, una tarjeta de crédito ha caducado).

    Consulte las preguntas frecuentes de Maps para saber cómo solucionar este problema.

  • "OVER_QUERY_LIMIT" indica que ha superado su cuota.
  • "REQUEST_DENIED" indica que su solicitud fue denegada.
  • "INVALID_REQUEST" generalmente indica que falta la consulta ( address, componentso latlng).
  • "UNKNOWN_ERROR" indica que la solicitud no se pudo procesar debido a un error del servidor. La solicitud puede tener éxito si vuelve a intentarlo.

Error de mensajes

Cuando el geocodificador devuelve un código de estado distinto de OK, puede haber un campo error_message adicional dentro del objeto de respuesta de codificación geográfica. Este campo contiene información más detallada sobre las razones detrás del código de estado dado.

Nota: No se garantiza que este campo esté siempre presente y su contenido está sujeto a cambios.

Resultados

Cuando el geocodificador devuelve resultados, los coloca dentro de una matriz  results (JSON) . Incluso si el geocodificador no devuelve resultados (por ejemplo, si la dirección no existe), todavía devuelve una matriz results vacía . (Las respuestas XML constan de cero o más elementos <result>).

Un resultado típico contiene los siguientes campos:

  • La matriz  types[] indica el tipo de resultado devuelto. Esta matriz contiene un conjunto de cero o más etiquetas que identifican el tipo de característica devuelta en el resultado. Por ejemplo, un código geográfico de "Chicago" devuelve "localidad", que indica que "Chicago" es una ciudad, y también devuelve "político", lo que indica que es una entidad política.
  • formatted_address es una cadena que contiene la dirección legible por humanos de esta ubicación.

    A menudo, esta dirección es equivalente a la dirección postal. Tenga en cuenta que algunos países, como el Reino Unido, no permiten la distribución de direcciones postales verdaderas debido a restricciones de licencia.

    La dirección formateada se compone lógicamente de uno o más componentes de dirección . Por ejemplo, la dirección "111 8th Avenue, Nueva York, NY" consta de los siguientes componentes: "111" (el número de la calle), "8th Avenue" (la ruta), "Nueva York" (la ciudad) y "NY "(el estado de EE. UU.).

    No analice la dirección formateada mediante programación. En su lugar, debe utilizar los componentes de direcciones individuales, que la respuesta de la API incluye además del campo de dirección formateado.

  • address_components[] es una matriz que contiene los componentes separados aplicables a esta dirección.

    Cada componente de la dirección normalmente contiene los siguientes campos:

    • types[] es una matriz que indica el tipo de componente de dirección. Consulte la lista de tipos admitidos .
    • long_name es la descripción de texto completo o el nombre del componente de dirección como lo devuelve el geocodificador.
    • short_name es un nombre textual abreviado para el componente de dirección, si está disponible. Por ejemplo, un componente de dirección para el estado de Alaska puede tener un long_namede "Alaska" y un short_namede "AK" utilizando la abreviatura postal de 2 letras.

    Tenga en cuenta los siguientes hechos sobre la matriz address_components[]:

    • La matriz de componentes de dirección puede contener más componentes que formatted_address.
    • La matriz no incluye necesariamente todas las entidades políticas que contienen una dirección, además de las incluidas en el formatted_address. Para recuperar todas las entidades políticas que contienen una dirección específica, debe utilizar la codificación geográfica inversa, pasando la latitud / longitud de la dirección como parámetro a la solicitud.
    • No se garantiza que el formato de la respuesta siga siendo el mismo entre solicitudes. En particular, el número de address_components varía según la dirección solicitada y puede cambiar con el tiempo para la misma dirección. Un componente puede cambiar de posición en la matriz. El tipo de componente puede cambiar. Es posible que falte un componente en particular en una respuesta posterior.

    Para manejar la matriz de componentes, debe analizar la respuesta y seleccionar los valores apropiados mediante expresiones. Consulte la guía para analizar una respuesta .

  • postcode_localities[] es una matriz que indica todas las localidades contenidas en un código postal. Esto solo está presente cuando el resultado es un código postal que contiene varias localidades.
  • geometry contiene la siguiente información:
    • location  contiene el valor geocodificado de latitud y longitud. Para las búsquedas de direcciones normales, este campo suele ser el más importante.
    • location_type almacena datos adicionales sobre la ubicación especificada. Actualmente se admiten los siguientes valores:

      • "ROOFTOP" indica que el resultado devuelto es un código geográfico preciso para el que tenemos información de ubicación precisa hasta la precisión de la dirección de la calle.
      • "RANGE_INTERPOLATED" indica que el resultado devuelto refleja una aproximación (generalmente en una carretera) interpolada entre dos puntos precisos (como intersecciones). Los resultados interpolados generalmente se devuelven cuando los códigos geográficos de la azotea no están disponibles para una dirección postal.
      • "GEOMETRIC_CENTER" indica que el resultado devuelto es el centro geométrico de un resultado como una polilínea (por ejemplo, una calle) o un polígono (región).
      • "APPROXIMATE" indica que el resultado devuelto es aproximado.
    • viewport contiene la ventana gráfica recomendada para mostrar el resultado devuelto, especificado como dos valores de latitud y longitud que definen la esquina southwesty northeastdel cuadro delimitador de la ventana gráfica. Generalmente, la ventana gráfica se usa para enmarcar un resultado cuando se lo muestra a un usuario.
    • bounds (opcionalmente devuelto) almacena el cuadro delimitador que puede contener completamente el resultado devuelto. Tenga en cuenta que estos límites pueden no coincidir con la ventana gráfica recomendada. (Por ejemplo, San Francisco incluye las islas Farallón , que técnicamente son parte de la ciudad, pero probablemente no deberían devolverse en la ventana gráfica).
  • plus_code (ver Código de ubicación abierto y códigos plus ) es una referencia de ubicación codificada, derivada de coordenadas de latitud y longitud, que representa un área: 1/8000 de grado por 1/8000 de grado (aproximadamente 14 mx 14 m en el ecuador) o menor. Los códigos plus se pueden usar como reemplazo de direcciones de calles en lugares donde no existen (donde los edificios no están numerados o las calles no tienen nombre).

    El código plus tiene el formato de un código global y un código compuesto:

    • global_code es un código de área de 4 caracteres y un código local de 6 caracteres o más (849VCWC8 + R9).
    • compound_code es un código local de 6 caracteres o más con una ubicación explícita (CWC8 + R9, Mountain View, CA, EE. UU.).
    Normalmente, se devuelven tanto el código global como el código compuesto. Sin embargo, si el resultado se encuentra en una ubicación remota (por ejemplo, un océano o un desierto), solo se puede devolver el código global.
  • partial_match indica que el geocodificador no devolvió una coincidencia exacta para la solicitud original, aunque pudo hacer coincidir parte de la dirección solicitada. Es posible que desee examinar la solicitud original en busca de errores ortográficos y / o una dirección incompleta.

    Las coincidencias parciales ocurren con mayor frecuencia para direcciones postales que no existen dentro de la localidad que pasa en la solicitud. También se pueden devolver coincidencias parciales cuando una solicitud coincide con dos o más ubicaciones en la misma localidad. Por ejemplo, "21 Henr St, Bristol, Reino Unido" devolverá una coincidencia parcial para Henry Street y Henrietta Street. Tenga en cuenta que si una solicitud incluye un componente de dirección mal escrito, el servicio de codificación geográfica puede sugerir una dirección alternativa. Las sugerencias generadas de esta manera también se marcarán como una coincidencia parcial.

  • place_ides un identificador único que se puede utilizar con otras API de Google. Por ejemplo, puede utilizar place_iden una solicitud de la API de Places para obtener detalles de una empresa local, como el número de teléfono, el horario de atención, las opiniones de los usuarios y más. Consulte la descripción general del ID de lugar .

Tipos de direcciones y tipos de componentes de direcciones

La types[]en el resultado indica el tipo de dirección . Los ejemplos de tipos de direcciones incluyen una dirección postal, un país o una entidad política. También hay una types[]matriz en address_components[], que indica el tipo de cada parte de la dirección. Los ejemplos incluyen el número de la calle o el país. (A continuación se muestra una lista completa de tipos). Las direcciones pueden tener varios tipos. Los tipos pueden considerarse "etiquetas". Por ejemplo, muchas ciudades están etiquetadas con el tipo political y locality.

Los siguientes tipos son compatibles y devueltos por el geocodificador tanto en el tipo de dirección como en las matrices de tipo de componente de dirección:

  • street_address indica una dirección postal precisa.
  • route indica una ruta con nombre (como "US 101").
  • intersection indica una intersección principal, generalmente de dos carreteras principales.
  • political indica una entidad política. Por lo general, este tipo indica un polígono de alguna administración civil.
  • country indica la entidad política nacional y suele ser el tipo de orden más alto devuelto por el geocodificador.
  • administrative_area_level_1indica una entidad civil de primer orden por debajo del nivel de país. Dentro de los Estados Unidos, estos niveles administrativos son estados. No todas las naciones exhiben estos niveles administrativos. En la mayoría de los casos, los nombres cortos de Administrative_area_level_1 coincidirán estrechamente con las subdivisiones ISO 3166-2 y otras listas de amplia circulación; sin embargo, esto no está garantizado ya que nuestros resultados de codificación geográfica se basan en una variedad de señales y datos de ubicación.
  • administrative_area_level_2indica una entidad civil de segundo orden por debajo del nivel de país. Dentro de los Estados Unidos, estos niveles administrativos son condados. No todas las naciones exhiben estos niveles administrativos.
  • administrative_area_level_3indica una entidad civil de tercer orden por debajo del nivel de país. Este tipo indica una división civil menor. No todas las naciones exhiben estos niveles administrativos.
  • administrative_area_level_4indica una entidad civil de cuarto orden por debajo del nivel de país. Este tipo indica una división civil menor. No todas las naciones exhiben estos niveles administrativos.
  • administrative_area_level_5indica una entidad civil de quinto orden por debajo del nivel de país. Este tipo indica una división civil menor. No todas las naciones exhiben estos niveles administrativos.
  • colloquial_area indica un nombre alternativo de uso común para la entidad.
  • locality indica una entidad política incorporada de la ciudad o pueblo.
  • sublocality indica una entidad civil de primer orden debajo de una localidad. Para algunas ubicaciones, puede recibir uno de los tipos adicionales: sublocality_level_1a sublocality_level_5. Cada nivel de sublocalidad es una entidad civil. Los números más grandes indican un área geográfica más pequeña.
  • neighborhood indica un barrio con nombre
  • premise indica una ubicación con nombre, generalmente un edificio o una colección de edificios con un nombre común
  • subpremise indica una entidad de primer orden debajo de una ubicación con nombre, generalmente un edificio singular dentro de una colección de edificios con un nombre común
  • plus_codeindica una referencia de ubicación codificada, derivada de la latitud y la longitud. Los códigos plus se pueden usar como reemplazo de direcciones de calles en lugares donde no existen (donde los edificios no están numerados o las calles no tienen nombre). Consulte https://plus.codes para obtener más detalles.
  • postal_code indica un código postal que se utiliza para dirigir el correo postal dentro del país.
  • natural_feature indica una característica natural prominente.
  • airport indica un aeropuerto.
  • park indica un parque con nombre.
  • point_of_interestindica un punto de interés con nombre. Por lo general, estos "PDI" son entidades locales prominentes que no encajan fácilmente en otra categoría, como "Empire State Building" o "Torre Eiffel".

Una lista vacía de tipos indica que no hay tipos conocidos para el componente de dirección en particular, por ejemplo, Lieu-dit en Francia.

Además de lo anterior, los componentes de la dirección pueden incluir los tipos siguientes.

Nota: esta lista no es exhaustiva y está sujeta a cambios.

  • floor indica el piso de la dirección de un edificio.
  • establishment normalmente indica un lugar que aún no ha sido categorizado.
  • landmark indica un lugar cercano que se utiliza como referencia, para facilitar la navegación.
  • point_of_interest indica un punto de interés con nombre.
  • parking indica un estacionamiento o estructura de estacionamiento.
  • post_box indica una casilla postal específica.
  • postal_town indica una agrupación de áreas geográficas, como locality y sublocality, que se utiliza para direcciones de correo en algunos países.
  • room indica la habitación de la dirección de un edificio.
  • street_number indica el número exacto de la calle.
  • bus_station, train_station y transit_station indican la ubicación de un autobús, tren o parada de transporte público.

Personalización de la ventana gráfica

En una solicitud de codificación geográfica, puede indicar al servicio de codificación geográfica que prefiera los resultados dentro de una ventana gráfica determinada (expresada como un cuadro delimitador). Lo hace dentro de la URL de la solicitud configurando el parámetro bounds. Tenga en cuenta que el sesgo solo prefiere resultados dentro de los límites; si existen resultados más relevantes fuera de estos límites, pueden incluirse.

El parámetro bounds define las coordenadas de latitud/longitud de las esquinas suroeste y noreste de este cuadro delimitador utilizando un carácter de barra vertical (|) para separar las coordenadas.

Por ejemplo, un código geográfico para "Winnetka" generalmente devuelve este suburbio de Chicago:

Petición:

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

Respuesta:

{
   "results" : [
      {
         "address_components" : [
            {
               "long_name" : "Winnetka",
               "short_name" : "Winnetka",
               "types" : [ "locality", "political" ]
            },
            {
               "long_name" : "New Trier",
               "short_name" : "New Trier",
               "types" : [ "administrative_area_level_3", "political" ]
            },
            {
               "long_name" : "Cook County",
               "short_name" : "Cook County",
               "types" : [ "administrative_area_level_2", "political" ]
            },
            {
               "long_name" : "Illinois",
               "short_name" : "IL",
               "types" : [ "administrative_area_level_1", "political" ]
            },
            {
               "long_name" : "United States",
               "short_name" : "US",
               "types" : [ "country", "political" ]
            }
         ],
         "formatted_address" : "Winnetka, IL, USA",
         "geometry" : {
            "bounds" : {
               "northeast" : {
                  "lat" : 42.1282269,
                  "lng" : -87.7108162
               },
               "southwest" : {
                  "lat" : 42.0886089,
                  "lng" : -87.7708629
               }
            },
            "location" : {
               "lat" : 42.10808340000001,
               "lng" : -87.735895
            },
            "location_type" : "APPROXIMATE",
            "viewport" : {
               "northeast" : {
                  "lat" : 42.1282269,
                  "lng" : -87.7108162
               },
               "southwest" : {
                  "lat" : 42.0886089,
                  "lng" : -87.7708629
               }
            }
         },
         "place_id" : "ChIJW8Va5TnED4gRY91Ng47qy3Q",
         "types" : [ "locality", "political" ]
      }
   ],
   "status" : "OK"
}

Sin embargo, agregar un argumento bounds que defina un cuadro delimitador para el Valle de San Fernando de Los Ángeles da como resultado que este código geográfico devuelva el vecindario llamado "Winnetka" en esa ubicación:

Petición:

https://maps.googleapis.com/maps/api/geocode/json?address=Winnetka&bounds=34.172684,
-118.604794|34.236144,-118.500938&key=YOUR_API_KEY

Respuesta:

 
{
   "results" : [
      {
         "address_components" : [
            {
               "long_name" : "Winnetka",
               "short_name" : "Winnetka",
               "types" : [ "neighborhood", "political" ]
            },
            {
               "long_name" : "Los Angeles",
               "short_name" : "LA",
               "types" : [ "locality", "political" ]
            },
            {
               "long_name" : "Los Angeles County",
               "short_name" : "Los Angeles County",
               "types" : [ "administrative_area_level_2", "political" ]
            },
            {
               "long_name" : "California",
               "short_name" : "CA",
               "types" : [ "administrative_area_level_1", "political" ]
            },
            {
               "long_name" : "United States",
               "short_name" : "US",
               "types" : [ "country", "political" ]
            }
         ],
         "formatted_address" : "Winnetka, Los Angeles, CA, USA",
         "geometry" : {
            "bounds" : {
               "northeast" : {
                  "lat" : 34.2355209,
                  "lng" : -118.5534191
               },
               "southwest" : {
                  "lat" : 34.1854649,
                  "lng" : -118.588536
               }
            },
            "location" : {
               "lat" : 34.2048586,
               "lng" : -118.5739621
            },
            "location_type" : "APPROXIMATE",
            "viewport" : {
               "northeast" : {
                  "lat" : 34.2355209,
                  "lng" : -118.5534191
               },
               "southwest" : {
                  "lat" : 34.1854649,
                  "lng" : -118.588536
               }
            }
         },
         "place_id" : "ChIJ0fd4S_KbwoAR2hRDrsr3HmQ",
         "types" : [ "neighborhood", "political" ]
      }
   ],
   "status" : "OK"
}

Sesgo de región

En una solicitud de codificación geográfica, puede indicar al servicio de codificación geográfica que devuelva resultados sesgados a una región en particular mediante el uso del region parámetro. Este parámetro toma un argumento ccTLD (dominio de nivel superior de código de país) que especifica el sesgo de la región. La mayoría de los códigos ccTLD son idénticos a los códigos ISO 3166-1, con algunas excepciones notables. Por ejemplo, el ccTLD del Reino Unido es "uk" ( .co.uk) mientras que su código ISO 3166-1 es "gb" (técnicamente para la entidad "Reino Unido de Gran Bretaña e Irlanda del Norte").

Los resultados de la codificación geográfica pueden estar sesgados para cada dominio en el que se lanza oficialmente la aplicación principal de Google Maps. Tenga en cuenta que el sesgo solo prefiere resultados para un dominio específico; si existen resultados más relevantes fuera de este dominio, pueden incluirse.

Por ejemplo, un código geográfico para "Toledo" devuelve este resultado, ya que el dominio predeterminado para la API de codificación geográfica se establece en Estados Unidos. 

Petición:

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

Respuesta:

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

Una solicitud de codificación geográfica para "Toledo" con region=es(España) devolverá la ciudad española. 

Petición:

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

Respuesta:

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

Filtrado de componentes

En una respuesta de codificación geográfica, la API de codificación geográfica puede devolver resultados de direcciones restringidos a un área específica. Puede especificar la restricción mediante el componentsfiltro. Un filtro consta de una lista de component:valuepares separados por una barra vertical (|). Los valores de filtro admiten los mismos métodos de corrección ortográfica y coincidencia parcial que otras solicitudes de codificación geográfica. Si el geocodificador encuentra una coincidencia parcial para un filtro de componente, la respuesta contendrá un campo partial_match.

Los componentsque se pueden filtrar incluyen:

  • postal_codepartidos postal_code y postal_code_prefix.
  • country coincide con el nombre de un país o con un código de país ISO 3166-1 de dos letras . La API sigue el estándar ISO para definir países y el filtrado funciona mejor cuando se usa el código ISO correspondiente del país.

Nota: Si recibe resultados inesperados con un código de país, verifique que esté usando un código que incluya los países, territorios dependientes y áreas especiales de interés geográfico que desea. Puede encontrar información sobre códigos en Wikipedia: Lista de códigos de país ISO 3166 o la Plataforma de navegación en línea ISO .

Lo siguiente componentspuede usarse para influir en los resultados, pero no se aplicará:

  • route coincide con el nombre largo o corto de una ruta.
  • localitypartidos contra localityy sublocalitytipos.
  • administrative_areacoincide con todos los administrative_areaniveles.

Notas sobre el filtrado de componentes:

  • Si la solicitud contiene varios filtros de componentes, la API los evalúa como AND, no OR. Por ejemplo, si la solicitud incluye varios países components=country:GB|country:AU, la API busca ubicaciones donde país = GB Y país = AU, y regresa ZERO_RESULTS.
  • Los resultados son consistentes con Google Maps, que ocasionalmente genera ZERO_RESULTSrespuestas inesperadas . El uso de Place Autocomplete puede proporcionar mejores resultados en algunos casos de uso. Para obtener más información, consulte estas preguntas frecuentes .
  • Para cada componente de dirección, especifíquelo en el address parámetro o en un componentsfiltro, pero no en ambos. Especificar los mismos valores en ambos puede resultar en ZERO_RESULTS.

Un código geográfico para "High St, Hastings" components=country:GB devuelve un resultado en Hastings, Inglaterra en lugar de Hastings-On-Hudson, EE. UU. 

Petición:

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

Respuesta:

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

Una solicitud de geocodificación para la localidad de "Santa Cruz" con components=country:ESdevoluciones Santa Cruz de Tenerife en Canarias, España. 

Petición:

https://maps.googleapis.com/maps/api/geocode/json?components=locality:santa+cruz|country:ES
&key=YOUR_API_KEY

Respuesta:

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

El filtrado de componentes devuelve una ZERO_RESULTSrespuesta solo si proporciona filtros que se excluyen entre sí. Petición:

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

Respuesta:

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

Puede realizar consultas válidas sin el parámetro de dirección, utilizando el filtro components. (Al geocodificar una dirección completa, el parámetro address es obligatorio si la solicitud contiene los nombres y números de edificios).

Solicitud:

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

Respuesta:

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

Codificación geográfica inversa (búsqueda de direcciones)

El término codificación geográfica generalmente se refiere a traducir una dirección legible por humanos 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 codificación geográfica inversa .

Parámetros obligatorios en una solicitud de codificación geográfica inversa:

  • latlng: Los valores de latitud y longitud que especifican la ubicación para la que desea obtener la dirección más cercana legible por humanos.
  • key La clave API de su aplicación. Esta clave identifica su aplicación a los efectos de la gestión de cuotas. Aprenda a obtener una llave.

Nota: Los clientes del Plan Premium de Google Maps Platform pueden usar una clave API o una identificación de cliente válida y una firma digital en sus solicitudes de codificación geográfica inversa. Obtenga más información sobre los parámetros de autenticación para los clientes del Plan Premium .

Parámetros opcionales en una solicitud de codificación geográfica inversa:

Estos son los parámetros opcionales que puede incluir en una solicitud de codificación geográfica inversa:

  • language - El idioma en el que se devuelven los resultados.
    • Consulte la lista de idiomas admitidos . Google actualiza a menudo los idiomas admitidos, por lo que es posible que esta lista no sea exhaustiva.
    • Si languageno se proporciona, el geocodificador intenta utilizar el idioma preferido como se especifica en el Accept-Languageencabezado, o el idioma nativo del dominio desde el cual se envía la solicitud.
    • El geocodificador hace todo lo posible para proporcionar una dirección postal que sea legible tanto para el usuario como para los lugareños. Para lograr ese objetivo, devuelve las direcciones de las calles en el idioma local, transcrito a un guión legible por el usuario si es necesario, observando el idioma preferido. Todas las demás direcciones se devuelven en el idioma preferido. Todos 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 utiliza la coincidencia más cercana.
  • result_type: Un filtro de uno o más tipos de direcciones, separados por una barra vertical (|). Si el parámetro contiene varios tipos de direcciones, la API devuelve todas las direcciones que coinciden con cualquiera de los tipos. Una nota sobre el procesamiento: el result_typeparámetro no restringe la búsqueda a los tipos de dirección especificados. Más bien, result_typeactúa como un filtro posterior a la búsqueda: la API recupera todos los resultados para el tipo especificado latlngy luego descarta los resultados que no coinciden con los tipos de dirección especificados. 

Nota: Este parámetro está disponible solo para solicitudes que incluyen una clave API o un ID de cliente. Se admiten los siguientes valores:

    • street_address indica una dirección postal precisa.
    • route indica una ruta con nombre (como "US 101").
    • intersection indica una intersección principal, generalmente de dos carreteras principales.
    • politicalindica una entidad política. Por lo general, este tipo indica un polígono de alguna administración civil.
    • country indica la entidad política nacional y suele ser el tipo de orden más alto devuelto por el geocodificador.
    • administrative_area_level_1indica una entidad civil de primer orden por debajo del nivel de país. Dentro de los Estados Unidos, estos niveles administrativos son estados. No todas las naciones exhiben estos niveles administrativos. En la mayoría de los casos, los nombres cortos de Administrative_area_level_1 coincidirán estrechamente con las subdivisiones ISO 3166-2 y otras listas de amplia circulación; sin embargo, esto no está garantizado ya que nuestros resultados de codificación geográfica se basan en una variedad de señales y datos de ubicación.
    • administrative_area_level_2indica una entidad civil de segundo orden por debajo del nivel de país. Dentro de los Estados Unidos, estos niveles administrativos son condados. No todas las naciones exhiben estos niveles administrativos.
    • administrative_area_level_3indica una entidad civil de tercer orden por debajo del nivel de país. Este tipo indica una división civil menor. No todas las naciones exhiben estos niveles administrativos.
    • administrative_area_level_4indica una entidad civil de cuarto orden por debajo del nivel de país. Este tipo indica una división civil menor. No todas las naciones exhiben estos niveles administrativos.
    • administrative_area_level_5indica una entidad civil de quinto orden por debajo del nivel de país. Este tipo indica una división civil menor. No todas las naciones exhiben estos niveles administrativos.
    • colloquial_area indica un nombre alternativo de uso común para la entidad.
    • locality indica una entidad política incorporada de la ciudad o pueblo.
    • sublocalityindica una entidad civil de primer orden debajo de una localidad. Para algunas ubicaciones, puede recibir uno de los tipos adicionales: sublocality_level_1a sublocality_level_5. Cada nivel de sublocalidad es una entidad civil. Los números más grandes indican un área geográfica más pequeña.
    • neighborhood indica un barrio con nombre
    • premise indica una ubicación con nombre, generalmente un edificio o una colección de edificios con un nombre común
    • subpremise indica una entidad de primer orden debajo de una ubicación con nombre, generalmente un edificio singular dentro de una colección de edificios con un nombre común
    • plus_codeindica una referencia de ubicación codificada, derivada de la latitud y la longitud. Los códigos plus se pueden usar como reemplazo de direcciones de calles en lugares donde no existen (donde los edificios no están numerados o las calles no tienen nombre). Consulte https://plus.codes para obtener más detalles.
    • postal_code indica un código postal que se utiliza para dirigir el correo postal dentro del país.
    • natural_feature indica una característica natural prominente.
    • airport indica un aeropuerto.
    • park indica un parque con nombre.
    • point_of_interestindica un punto de interés con nombre. Por lo general, estos "PDI" son entidades locales prominentes que no encajan fácilmente en otra categoría, como "Empire State Building" o "Torre Eiffel".
  • location_type- Un filtro de uno o más tipos de ubicación, separados por una tubería ( |). Si el parámetro contiene varios tipos de ubicación, la API devuelve todas las direcciones que coinciden con cualquiera de los tipos. Una nota sobre el procesamiento: el location_typeparámetro no restringe la búsqueda a los tipos de ubicación especificados. Más bien, location_typeactúa como un filtro posterior a la búsqueda: la API recupera todos los resultados para el tipo especificado latlngy luego descarta los resultados que no coinciden con los tipos de ubicación especificados. 

Nota: Este parámetro está disponible solo para solicitudes que incluyen una clave API o un ID de cliente. Se admiten los siguientes valores:

    • "ROOFTOP" devuelve solo las direcciones para las que Google tiene información de ubicación precisa hasta la precisión de la dirección de la calle.
    • "RANGE_INTERPOLATED"devuelve solo las direcciones que reflejan una aproximación (generalmente en una carretera) interpolada entre dos puntos precisos (como intersecciones). Un rango interpolado generalmente indica que los códigos geográficos de tejados no están disponibles para una dirección postal.
    • "GEOMETRIC_CENTER" devuelve solo los centros geométricos de una ubicación, como una polilínea (por ejemplo, una calle) o un polígono (región).
    • "APPROXIMATE" devuelve solo las direcciones que se caracterizan como aproximadas.

Si ambos filtros result_typey location_typeestán presentes, la API solo devuelve los resultados que coinciden con result_typelos location_typevalores y. Si ninguno de los valores de filtro es aceptable, la API regresa ZERO_RESULTS.

Ejemplo de codificación geográfica 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

Nota: Asegúrese de que no exista ningún espacio entre los valores de latitud y longitud cuando se pasa en el parámetro latlng.

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 results[] ...

Tenga en cuenta que el geocodificador inverso devolvió más de un resultado. Los resultados "formatted_address" no son solo direcciones postales, sino cualquier forma de nombrar geográficamente una ubicación. Por ejemplo, al geocodificar un punto en la ciudad de Chicago, el punto geocodificado puede indicarse como una dirección postal, como la ciudad (Chicago), como su estado (Illinois) o como un país (Estados Unidos). Todas son "direcciones" del geocodificador. El geocodificador inverso devuelve cualquiera de estos tipos como resultados válidos.

El geocodificador inverso coincide con entidades políticas (países, provincias, ciudades y vecindarios), direcciones y códigos postales.

La lista completa de formatted_addressvalores devueltos por la consulta anterior se muestra a continuación.

"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",

Generalmente, las direcciones se devuelven de la más específica a la menos específica; la dirección más exacta es el resultado más destacado, como en este caso. Tenga en cuenta que devolvemos diferentes tipos de direcciones, desde la dirección más específica hasta entidades políticas menos específicas, como vecindarios, ciudades, condados, estados, etc. Si desea hacer coincidir un tipo específico de dirección, consulte la sección a continuación sobre la restricción de resultados. por tipo.

Nota: La codificación geográfica inversa es una estimación. El geocodificador intentará encontrar la ubicación direccionable más cercana dentro de una cierta tolerancia. Si no se encuentra ninguna coincidencia, el geocodificador devolverá cero resultados.

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 la codificación geográfica inversa.

Respuestas de codificación geográfica inversa

El formato de la respuesta de codificación geográfica inversa es el mismo que el de la respuesta de codificación geográfica. Consulte Respuestas de codificación geográfica . A continuación se muestran los códigos de estado posibles en una respuesta de codificación geográfica inversa.

Códigos de estado de codificación geográfica inversa

El "status"campo dentro del objeto de respuesta de codificación geográfica contiene el estado de la solicitud y puede contener información de depuración para ayudarlo a rastrear por qué la codificación geográfica inversa no funciona. El "status" campo puede contener los siguientes valores:

  • "OK" indica que no se produjeron errores y se devolvió al menos una dirección.
  • "ZERO_RESULTS"indica que la codificación geográfica inversa se realizó correctamente pero no arrojó resultados. Esto puede ocurrir si el geocodificador se pasó a latlngen una ubicación remota.
  • "OVER_QUERY_LIMIT" indica que ha superado su cuota.
  • "REQUEST_DENIED"indica que la solicitud fue denegada. Posiblemente porque la solicitud incluye un parámetro result_typeo location_type, pero no incluye una clave de API o ID de cliente.
  • "INVALID_REQUEST" generalmente indica uno de los siguientes:
    • Falta la consulta ( address, componentso latlng).
    • Un inválido result_typeo location_typese le dio.
  • "UNKNOWN_ERROR"indica que la solicitud no se pudo procesar debido a un error del servidor. La solicitud puede tener éxito si vuelve a intentarlo.

Codificación geográfica inversa más códigos

El plus_codecampo dentro del objeto de respuesta de codificación geográfica contiene un código más que se aproxima mejor a la latitud y longitud consultadas. Además, la matriz de resultados JSON contendrá en la mayoría de los casos un resultado completo de codificación geográfica con un plus_codetipo y una dirección que contengan un código más. Se garantiza que la distancia entre el código plus decodificado y el punto de solicitud es inferior a 10 metros.

Recuperar una dirección para un ID de lugar

Parámetros requeridos:

  • place_id: El ID de lugar del lugar para el que desea obtener la dirección legible por humanos. El ID de lugar es un identificador único que se puede utilizar con otras API de Google. Por ejemplo, puede utilizar la API de RoadsplaceID devuelta para obtener la dirección de un punto instantáneo. Para obtener más información sobre los ID de lugares, consulte la descripción general de los ID de lugares . El ID del lugar solo se puede especificar si la solicitud incluye una clave API o un ID de cliente del Plan Premium de Google Maps Platform.
  • key: La clave API de su aplicación. Esta clave identifica su aplicación a los efectos de la gestión de cuotas. Aprenda a obtener una llave .

Nota: Los clientes del Plan Premium de Google Maps Platform pueden usar una clave API o una identificación de cliente válida y una firma digital en sus solicitudes de codificación geográfica inversa. Obtenga más información sobre los parámetros de autenticación para los clientes del Plan Premium.

Los parámetros opcionales son los mismos que los de la codificación geográfica inversa.

La siguiente consulta contiene el ID de lugar de un lugar en Brooklyn:

https://maps.googleapis.com/maps/api/geocode/json?place_id=ChIJd8BlQ2BZwokRAFUEcm_qrcA
&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" : [ "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 obtener una descripción de los campos en la respuesta, consulte Respuestas de codificación geográfica.

El parámetro sensor

La API de Google Maps anteriormente requería que incluyera el parámetro sensor para indicar si su aplicación usaba un sensor para determinar la ubicación del usuario. Este parámetro ya no es necesario.