Foto del lugar (nueva)

Selecciona la plataforma: Android iOS Servicio web

El servicio Place Photo (nuevo) es una API de solo lectura que te permite agregar contenido fotográfico de alta calidad a tu aplicación. El servicio Place Photos te brinda acceso a las millones de fotos almacenadas en la base de datos de Places.

Cuando obtienes información sobre lugares mediante una solicitud de Place Details, Nearby Search o Text Search, también puedes solicitar recursos fotográficos para contenido fotográfico relevante. Con el servicio de Fotos, puedes acceder a las fotos de referencia y cambiar el tamaño de la imagen al tamaño óptimo para tu aplicación.

El Explorador de APIs te permite realizar solicitudes en tiempo real para que puedas familiarizarte con la API y sus opciones:

Pruébalo

Solicitudes de fotos de sitios

Una solicitud de Place Photo es una solicitud GET HTTP a una URL con el siguiente formato:
https://places.googleapis.com/v1/NAME/media?key=API_KEY&PARAMETERS

Cuando se requieren los siguientes parámetros:

  • NAME contiene el nombre del recurso de la foto.
  • API_KEY contiene la clave de API.
  • PARAMETERS contiene el parámetro maxHeightPx, el parámetro maxWidthPx o ambos.

A continuación, se describe la lista completa de los parámetros obligatorios y opcionales.

Parámetros obligatorios

Nombre de la foto

Un identificador de cadenas que identifica de forma exclusiva una foto. Los nombres de las fotos se muestran a partir de una solicitud de Place Details (nuevo), Nearby Search (nuevo) o Text Search (nuevo) en la propiedad name de cada elemento del array photos[].

Para ver un ejemplo, consulta Obtén un nombre de foto.

maxHeightPx y maxWidthPx

Especifica la altura y el ancho máximos deseados, en píxeles, de la imagen. Si la imagen es más pequeña que los valores especificados, se mostrará la imagen original. Si la imagen es más grande en cualquiera de las dimensiones, se ajustará para que coincida con la más pequeña de las dos dimensiones, restringida a su relación de aspecto original. Las propiedades maxheight y maxwidth aceptan un número entero entre 1 y 4,800.

Debes especificar maxHeightPx, maxWidthPx o ambos.

Parámetros opcionales

skipHttpRedirect

Si es false (predeterminado), realiza un redireccionamiento HTTP a la imagen para mostrarla. Si es true, omite el redireccionamiento y muestra una respuesta JSON que contiene la imagen que falla. Por ejemplo:

{
  "name": "places/ChIJj61dQgK6j4AR4GeTYWZsKWw/photos/Aaw_FcKly0DEv3EWmDJyHiEqXIP5mowOc99lN1GzBun6KHH52AZ5fFA/media",
  "photoUri": "https://lh3.googleusercontent.com/a-/AD_cFT-b=s100-p-k-no-mo"
}

Esta opción se ignora para solicitudes que no son HTTP.

Obtén un nombre de foto

Todas las solicitudes al servicio Place Photos deben incluir un nombre de recurso de foto, que se muestra en la respuesta a una solicitud de Nearby Search, Text Search o Place Details. La respuesta a estas solicitudes contiene un array photos[] si el lugar tiene contenido fotográfico relacionado.

Cada elemento de photo[] contiene los siguientes campos:

  • name: Es una cadena que contiene el nombre de recurso de la foto cuando realizas una solicitud de foto. Esta cadena tiene el siguiente formato:

    places/PLACE_ID/photos/PHOTO_RESOURCE
  • heightPx: Es la altura máxima de la imagen en píxeles.
  • widthPx: Es el ancho máximo de la imagen en píxeles.
  • authorAttributions[]: Todas las atribuciones requeridas. Este campo siempre está presente, pero puede estar vacío.

Las fotos que muestra el servicio Photos provienen de una variedad de ubicaciones, incluidas las fotos aportadas por los propietarios de las empresas y los usuarios. En la mayoría de los casos, estas fotos se pueden usar sin atribución o tendrán la atribución requerida incluida como parte de la imagen. Sin embargo, si el elemento photo que se muestra incluye un valor en el campo authorAttributions, debes incluir la atribución adicional en tu aplicación en cualquier lugar donde muestres la imagen.

En el siguiente ejemplo, se muestra una solicitud de Place Details que incluye photos en la máscara de campo para que la respuesta incluya el array photos[] en la respuesta:

curl -X GET \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
-H "X-Goog-FieldMask: id,displayName,photos" \
https://places.googleapis.com/v1/places/ChIJ2fzCmcW7j4AR2JzfXBBoh6E
A continuación, se muestra un ejemplo de un array de photos[] en la respuesta.
    ...
    "photos" : [
      {
        "name": "places/ChIJ2fzCmcW7j4AR2JzfXBBoh6E/photos/AUacShh3_Dd8yvV2JZMtNjjbbSbFhSv-0VmUN-uasQ2Oj00XB63irPTks0-A_1rMNfdTunoOVZfVOExRRBNrupUf8TY4Kw5iQNQgf2rwcaM8hXNQg7KDyvMR5B-HzoCE1mwy2ba9yxvmtiJrdV-xBgO8c5iJL65BCd0slyI1",
        "widthPx": 6000,
        "heightPx": 4000,
        "authorAttributions": [
          {
            "displayName": "John Smith",
            "uri": "//maps.google.com/maps/contrib/101563",
            "photoUri": "//lh3.googleusercontent.com/a-/AD_cFT-b=s100-p-k-no-mo"
          }
        ]
      },    ...

Cómo solicitar una foto de un lugar

En la solicitud de ejemplo que aparece a continuación, se muestra una imagen con su recurso name y se le cambia el tamaño para que tenga como máximo 400 píxeles de alto y ancho:

https://places.googleapis.com/v1/places/ChIJ2fzCmcW7j4AR2JzfXBBoh6E/photos/AUacShh3_Dd8yvV2JZMtNjjbbSbFhSv-0VmUN-uasQ2Oj00XB63irPTks0-A_1rMNfdTunoOVZfVOExRRBNrupUf8TY4Kw5iQNQgf2rwcaM8hXNQg7KDyvMR5B-HzoCE1mwy2ba9yxvmtiJrdV-xBgO8c5iJL65BCd0slyI1/media?maxHeightPx=400&maxWidthPx=400&key=API_KEY

La respuesta de una solicitud de Place Photos exitosa es una imagen. El tipo de imagen depende del tipo de foto enviada originalmente.

Si tu solicitud excede tu cuota disponible, el servidor muestra un estado HTTP 403 y muestra la siguiente imagen para indicar que se superó la cuota:

Imagen que indica que se superó la cuota

Si el servidor no puede comprender tu solicitud, muestra un estado HTTP 400, que indica una solicitud no válida. Entre los motivos más comunes de una solicitud no válida, se incluyen los siguientes:

  • El nombre de la foto enviada no se especificó correctamente.
  • La solicitud no incluyó los parámetros maxHeightPx ni maxWidthPx.
  • El valor de maxHeightPx o del parámetro maxWidthtPx se estableció en null.
  • name ya venció. Si name vence, realiza una solicitud a Place Details (nuevo), Nearby Search (nuevo) o Text Search (nuevo) para obtener un nuevo elemento name.

Pruébalo

El Explorador de APIs te permite realizar solicitudes de muestra para que puedas familiarizarte con la API y sus opciones.

Para realizar una solicitud, haz lo siguiente:

  1. Selecciona el ícono de la API, Expande el Explorador de APIs., en el lado derecho de la página.
  2. Establece el parámetro name de la siguiente manera:
    places/PLACE_ID/photos/PHOTO_RESOURCE/media
  3. Configura skipHttpRedirect como true para que la solicitud muestre una respuesta JSON. Según la configuración predeterminada, la solicitud muestra la imagen, pero el Explorador de API no puede mostrarla.
  4. Selecciona el botón Ejecutar. En la ventana emergente, elige la cuenta que deseas usar para realizar la solicitud.
  5. En el panel Explorador de API, selecciona el ícono de expansión, Expande el Explorador de APIs., para expandir la ventana del Explorador de API.