IDs de lugar

Selecciona la plataforma: Android iOS JavaScript Servicio web

Los IDs de lugar identifican de forma exclusiva un sitio en la base de datos de Google Places y en Google Maps. Los IDs de lugar se aceptan en las solicitudes a las siguientes APIs de Google Maps:

  • Recuperar una dirección de un ID de lugar en el servicio web de la API de Geocoding y el servicio de Geocoding de la API de Maps JavaScript
  • Especificar el origen, el destino y los puntos de referencia intermedios en el servicio web de la API de Routes y la API Directions, y el servicio Directions de la API de Maps JavaScript
  • Especificar los orígenes y destinos en el servicio web de la API de Routes y la API de Distance Matrix, y el servicio Distance Matrix de la API de Maps JavaScript
  • Recuperar datos de Place Details en el servicio web de la API de Places, el SDK de Places para Android, el SDK de Places para iOS y la biblioteca de Places
  • Utilizar los parámetros de ID de lugar en la API de Maps Embed
  • Recuperar búsquedas en las URLs de Maps
  • Mostrar los límites de velocidad en la API de Roads
  • Encontrar y usar polígonos de límite en el diseño basado en datos aplicable a límites

Cómo buscar el ID de un lugar en particular

¿Buscas el ID de lugar de un sitio específico? Usa el siguiente buscador de ID de lugar para buscar un lugar y obtener su ID:

También puedes ver el buscador de ID de lugar con su código en la documentación de la API de Maps JavaScript.

Descripción general

Un ID de lugar es un identificador textual que identifica de forma exclusiva un lugar. La longitud del identificador puede variar (no hay una longitud máxima para los IDs de lugar). Ejemplos:

  • ChIJgUbEo8cfqokR5lP9_Wh_DaM
  • GhIJQWDl0CIeQUARxks3icF8U8A
  • EicxMyBNYXJrZXQgU3QsIFdpbG1pbmd0b24sIE5DIDI4NDAxLCBVU0EiGhIYChQKEgnRTo6ixx-qiRHo_bbmkCm7ZRAN
  • EicxMyBNYXJrZXQgU3QsIFdpbG1pbmd0b24sIE5DIDI4NDAxLCBVU0E
  • IhoSGAoUChIJ0U6OoscfqokR6P225pApu2UQDQ

Los IDs de lugar están disponibles para la mayoría de las ubicaciones, incluidos negocios, puntos de referencia, intersecciones y parques. Es posible que un mismo lugar o ubicación tenga varios IDs de lugar diferentes. Los IDs de lugar pueden cambiar con el paso del tiempo.

Puedes usar el mismo ID de lugar en la API de Places y en varias APIs de Google Maps Platform. Por ejemplo, puedes usar el mismo ID de lugar para hacer referencia a un lugar en la API de Places, la API de Maps JavaScript, la API de Geocoding, la API de Maps Embed y la API de Roads.

Cómo recuperar detalles de un lugar con un ID de lugar

Una forma común de usar los IDs de lugar es buscar un lugar (por ejemplo, mediante la API de Places o la biblioteca de Places de la API de Maps JavaScript) y, luego, usar el ID de lugar que se muestra para obtener detalles. También, puedes almacenar el ID de lugar y usarlo para recuperar los detalles del mismo lugar en otro momento. Consulta la sección Cómo guardar los IDs de lugar a continuación.

En los siguientes ejemplos se muestra cómo solicitar una URL de ícono para la API de Places (nuevo) y API de Places.

API de Places (nuevo)

Con la API de Places, puedes buscar un ID de lugar haciendo una Text Search (nueva) para cada solicitud.

curl -X POST -d '{
  "textQuery" : "Spicy Vegetarian Food in Sydney, Australia"
}' \
-H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \
-H 'X-Goog-FieldMask: places.id,places.displayName,places.formattedAddress' \
'https://places.googleapis.com/v1/places:searchText'

En la respuesta, se incluye un ID de lugar en el campo id, como se muestra a continuación:

{
  "places": [
    {
      "id": "ChIJs5ydyTiuEmsR0fRSlU0C7k0",
      "formattedAddress": "29 King St, Sydney NSW 2000, Australia",
      "displayName": {
        "text": "Peace Harmony",
        "languageCode": "en"
      }
    },
  ...
}

Ahora puedes crear Place Details (nuevo) solicitud incluyendo el ID de lugar en la URL de la solicitud:

https://places.googleapis.com/v1/places/ChIJs5ydyTiuEmsR0fRSlU0C7k0?fields=id,displayName&key=API_KEY

API de Places

Con la API de Places, puedes buscar un ID de lugar haciendo una Place Search.

El siguiente ejemplo es una solicitud de búsqueda de lugares del tipo "restaurante". en un radio de 1,500 m de un punto en Sídney, Australia, que contenga la palabra "cruceros":

https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=-33.8670522,151.1957362&radius=1500&type=restaurant&keyword=cruise&key=YOUR_API_KEY

La respuesta incluye un ID de lugar en el campo place_id, como se muestra en este fragmento:

{
  "html_attributions" : [],
  "results" : [
    {
      "geometry" : {
        "location" : {
          "lat" : -33.870775,
          "lng" : 151.199025
        }
      },
      ...
      "place_id" : "ChIJrTLr-GyuEmsRBfy61i59si0",
      ...
    }
  ],
  "status" : "OK"
}

Ahora puedes enviar un Solicitud de Place Details, coloca el ID de lugar en el parámetro place_id:

https://maps.googleapis.com/maps/api/place/details/json?place_id=ChIJrTLr-GyuEmsRBfy61i59si0&key=YOUR_API_KEY

Cómo guardar los IDs de lugar para usarlos en otro momento

Los IDs de lugar están exentos de las restricciones de almacenamiento en caché establecidas en el Artículo 3.2.3(b) de las Condiciones del Servicio de Google Maps Platform. Por lo tanto, puedes almacenar valores de ID de lugar para usarlos en otro momento.

Cómo actualizar los IDs de lugar almacenados

Te recomendamos que actualices los IDs de lugar si tienen más de 12 meses de antigüedad. Tú puedes actualizar los IDs de lugar sin cargo mediante una Solicitud de Place Details, en la que se especifica solo el ID de lugar en el parámetro fields.

API de Places (nuevo)

Por ejemplo, con Place Details (nuevo):

https://places.googleapis.com/v1/places/ChIJ05IRjKHxEQ0RJLV_5NLdK2w?fields=id&key=API_KEY

API de Places

Por ejemplo, con la API heredada de Place Details:

https://maps.googleapis.com/maps/api/place/details/json?place_id=ChIJ05IRjKHxEQ0RJLV_5NLdK2w&fields=place_id&key=API_KEY

Esta llamada activa el Detalles del lugar nuevo (solo IDs) o Places Details - ID Refresh SKU

Es posible que esta solicitud también muestre el estado NOT_FOUND código. Una estrategia es almacenar la solicitud original que mostró cada ID de lugar. Si un ID de lugar deja de ser válido, puedes volver a emitir esa solicitud para obtener resultados actualizados. Estos resultados pueden incluir el lugar original o no. Sin embargo, esta solicitud se cobra.

Códigos de error al usar IDs de lugar

El código de estado INVALID_REQUEST indica que el ID de lugar especificado no es válido. Es posible que aparezca INVALID_REQUEST si el ID de lugar se truncó o modificó de alguna manera y ya no es correcto.

El código de estado NOT_FOUND indica que el ID de lugar especificado está obsoleto. Un ID de lugar puede quedar obsoleto si una empresa cierra o se traslada a otra ubicación. Los IDs de lugar pueden cambiar debido a actualizaciones a gran escala en la base de datos de Google Maps. En esos casos, un lugar puede recibir un ID nuevo, y el ID anterior mostrará una respuesta NOT_FOUND.

A veces, algunos tipos de IDs de lugar pueden causar una respuesta NOT_FOUND, o la API puede mostrar un ID de lugar diferente en la respuesta. Entre estos tipos de IDs de lugar se incluyen los siguientes:

  • Direcciones que no existen en Google Maps como direcciones exactas, pero que se infieren a partir de un rango de direcciones
  • Segmentos de una ruta extensa, cuando la solicitud también especifica una ciudad o localidad
  • Intersecciones
  • Lugares con un componente de dirección del tipo subpremise

Estos IDs suelen tomar la forma de una cadena larga (no hay una longitud máxima para los IDs de lugar). Por ejemplo:

EpID4LC14LC_4LCo4LCv4LGN4LCo4LCX4LCw4LGNIC0g4LC44LGI4LCm4LGN4LCs4LC-4LCm4LGNIOCwsOCxi-CwoeCxjeCwoeCxgSAmIOCwteCwv-CwqOCwr-CxjSDgsKjgsJfgsLDgsY0g4LCu4LGG4LCv4LC_4LCo4LGNIOCwsOCxi-CwoeCxjeCwoeCxgSwg4LC14LC_4LCo4LCv4LGNIOCwqOCwl-CwsOCxjSDgsJXgsL7gsLLgsKjgsYAsIOCwsuCwleCxjeCwt-CxjeCwruCwv-CwqOCwl-CwsOCxjSDgsJXgsL7gsLLgsKjgsYAsIOCwuOCwsOCxguCwsOCxjSDgsKjgsJfgsLDgsY0g4LC14LGG4LC44LGN4LCf4LGNLCDgsLjgsK_gsYDgsKbgsL7gsKzgsL7gsKbgsY0sIOCwueCxiOCwpuCwsOCwvuCwrOCwvuCwpuCxjSwg4LCk4LGG4LCy4LCC4LCX4LC-4LCjIDUwMDA1OSwg4LCt4LC-4LCw4LCk4LCm4LGH4LC24LCCImYiZAoUChIJ31l5uGWYyzsR9zY2qk9lDiASFAoSCd9ZebhlmMs7Efc2NqpPZQ4gGhQKEglDz61OZpjLOxHgDJCFY-o1qBoUChIJi37TW2-YyzsRr_uv50r7tdEiCg1MwFcKFS_dyy4