Mosaicos de Street View

Desarrolladores del Espacio Económico Europeo (EEE)

Ejemplo de Street View Tiles

Los mosaicos de Street View son similares a los mosaicos 2D excepto que contienen imágenes panorámicas tomadas a nivel de la calle. Con Street View, explora puntos de referencia en todo el mundo, observa maravillas naturales y recorre el interior de ciertos lugares, como museos, estadios, restaurantes y pequeñas empresas. Este extremo de la API te brinda acceso a lo siguiente:

  • Mosaicos de Street View de Google Maps
  • Metadatos de Street View
  • Miniaturas de Street View

Puedes unir mosaicos de imágenes tomadas a nivel de la calle para crear un efecto panorámico de la vida real. Además, puedes consultar hasta 100 IDs de panorámicas para un conjunto de ubicaciones (como una ruta) y obtener metadatos más detallados sobre la posición de la cámara.

Se requiere un visor para unir los mosaicos de Street View. Por ejemplo, el visor de panorámicas personalizadas de Street View.

Una vez que tengas una clave de API, puedes acceder a las imágenes de Street View siguiendo estos pasos.

  1. Obtén un token de sesión. Asegúrate de establecer el valor de mapType en streetview.

  2. Usa el token de sesión para obtener el identificador de panorámica (panoId) de una o más ubicaciones geográficas.

  3. Usa los identificadores de panorámica de la respuesta de búsqueda de panoId para obtener lo siguiente:

    1. Metadatos de Street View. También puedes obtener metadatos de Street View pasando un conjunto de coordenadas y un radio.

    2. Miniaturas de Street View.

    3. Mosaicos de Street View.

Métodos de Street View

Puedes acceder a las imágenes y los metadatos de Street View llamando a uno de los siguientes cuatro métodos.

Método Descripción
https://tile.googleapis.com/v1/streetview/tiles Muestra los mosaicos individuales de Street View. Puedes recuperar mosaicos de Street View en seis niveles de zoom: desde 512 píxeles hasta 13,312 píxeles.
https://tile.googleapis.com/v1/streetview/panoIds Te permite buscar de forma masiva hasta 100 ubicaciones. Muestra los IDs de panorámicas de todas las ubicaciones con imágenes.
https://tile.googleapis.com/v1/streetview/thumbnail Muestra una imagen JPEG en miniatura de una escena de Street View. Te permite proporcionar un rumbo, una inclinación, dimensiones y un campo visual. Las dimensiones mínimas son de 16 x 16 píxeles. Las dimensiones máximas son de 250 x 600 píxeles.
https://tile.googleapis.com/v1/streetview/metadata Proporciona información detallada sobre la panorámica especificada. Los detalles incluyen la dirección relacionada y vínculos a las panorámicas adyacentes.

Puedes encontrar el identificador de panorámica de una o más ubicaciones geográficas pasando sus coordenadas (lat, lng) al método panoIds. El cuerpo de la solicitud es un objeto JSON que contiene un array locations y, de manera opcional, un radius, como se muestra en el siguiente ejemplo de código JSON.

curl -X POST -d '{
  "locations": [
    {"lat": -33.883837, "lng": 151.209307},
    {"lat": -33.883700, "lng": 151.210307},
    {"lat": 0, "lng": 0}
  ],
  "radius": 50
}' \
-H 'Content-Type: application/json' \
"https://tile.googleapis.com/v1/streetview/panoIds?session=YOUR_SESSION_TOKEN&key=YOUR_API_KEY"
locations
El array locations debe contener al menos un conjunto de valores de coordenadas, pero puedes incluir más, hasta un máximo de 100.
radius
El valor radius (medido en metros) define el radio del círculo alrededor de la ubicación determinada, en el que se deben buscar panorámicas. El valor predeterminado es de 50 metros.

Respuesta de PanoId

La API de Map Tiles intenta encontrar la panorámica más cercana a cada ubicación y, luego, muestra sus IDs de panorámicas. Una solicitud panoIds exitosa muestra un objeto JSON que contiene un array panoIds. El array contiene una lista de IDs de panorámicas, en el orden en que los solicitaste. Si la API de Map Tiles no puede encontrar ninguna panorámica para las ubicaciones que solicitaste, se muestra una cadena vacía en esa ubicación del array. Para ver un ejemplo, consulta el siguiente código JSON.

{
  "panoIds": [
    "ACfH-n2HcBvRry_3oc9grw",
    "f5DJZatBAAAXHlooS2wKbw",
    ""
  ]
}

Puedes usar panoIds para lo siguiente:

Metadatos de Street View

Las solicitudes de metadatos de Street View recuperan información sobre las panorámicas. Una solicitud de metadatos de Street View es una solicitud HTTPS GET. Puedes recuperar información sobre las panorámicas de una de las siguientes dos maneras:

  • Si pasas un pano_id, la API de Map Tiles muestra los metadatos de esa panorámica.

  • Pero si pasas un lat y un lng, la API de Map Tiles muestra los metadatos de la panorámica más cercana dentro del radio de búsqueda determinado.

Cómo pasar un conjunto de coordenadas y un radio

curl "https://tile.googleapis.com/v1/streetview/metadata?session=YOUR_SESSION_TOKEN&key=YOUR_API_KEY&lat=lat&lng=lng&radius=meters"

Dado que los IDs de panorámicas son transitorios, te recomendamos que pases un conjunto de coordenadas y un valor radius en tu solicitud inicial de metadatos de Street View. Para ver un ejemplo, consulta el siguiente fragmento de código.

curl "https://tile.googleapis.com/v1/streetview/metadata?session=YOUR_SESSION_TOKEN&key=YOUR_API_KEY&lat=47.62066&lng=-122.34923&radius=50"

Cómo pasar el panoId de una imagen de Street View

curl "https://tile.googleapis.com/v1/streetview/metadata?session=YOUR_SESSION_TOKEN&key=YOUR_API_KEY&panoId=panoId"

Respuesta de metadatos

El siguiente código JSON es un ejemplo de una respuesta de metadatos típica.

{
 "panoId": "rZ9KeTyhA11i0VppYNzsSg",
 "lat": 37.420864219339165,
 "lng": -122.08446528377291,
 "imageHeight": 6656,
 "imageWidth": 13312,
 "tileHeight": 512,
 "tileWidth": 512,
 "heading": 94.35,
 "tilt": 88.39652,
 "roll": 1.7181772,
 "imageryType": "outdoor",
 "date": "2023-01",
 "copyright": "© 2023 Google",
 "reportProblemLink": "https://cbks0.googleapis.com/cbk?output=report&panoid=rZ9KeTyhA11i0VppYNzsSg&cb_client=api&cbp=1,0,,0,0&hl=en-US&gl=us",
 "addressComponents": [
  {
   "longName": "United States",
   "shortName": "United States",
   "types": [
    "country"
   ]
  },
  {
   "longName": "Mountain View, California",
   "shortName": "Mountain View, California",
   "types": [
    "locality"
   ]
  },
  {
   "longName": "Charleston Rd",
   "shortName": "Charleston Rd",
   "types": [
    "route"
   ]
  },
  {
   "longName": "1635",
   "shortName": "1635",
   "types": [
    "street_number"
   ]
  }
 ],
 "links": [
  {
   "panoId": "Yw4pqzA4FEq1qs-BwZSvSQ",
   "heading": 274.47998046875,
   "text": "Charleston Rd"
  },
  {
   "panoId": "1cODYwFRw1aZ45IignDIMw",
   "heading": 94.47999572753906,
   "text": "Charleston Rd"
  }
 ]
}

La siguiente lista contiene definiciones de los campos en el cuerpo de la respuesta.

panoId
Es el ID único de esta panorámica. No debes confiar en que los IDs de panorámicas sean válidos por más de una sesión de usuario.
lat, lng
Son las coordenadas (latitud y longitud) de la panorámica. Estos valores pueden ser diferentes de las coordenadas que pasaste en la solicitud porque la ubicación se ajusta a la panorámica más cercana.
imageHeight, imageWidth
Son las dimensiones de la imagen panorámica unida.
tileHeight, tileWidth
Son las dimensiones de un solo mosaico panorámico.
heading
Es el rumbo de la brújula, medido en grados, en sentido horario desde el norte. Los rumbos se muestran dentro del rango [0,360], y 0 representa el norte geográfico.
tilt
Es la inclinación de la panorámica, medida en grados desde el polo sur de la panorámica hasta el horizonte. Los valores mostrados están dentro del rango [0, 180]. Un valor de 90 grados indica que el horizonte ya está alineado en el ecuador de la panorámica.
roll
Es la rotación en sentido horario alrededor de la línea de visión que se aplicó a la panorámica para nivelar el horizonte. Los valores mostrados están dentro del rango [0, 360].
imageryType
Indica el tipo de imagen. Los valores válidos son indoor y outdoor.
date
Es la fecha en que se tomó la imagen. No todas las imágenes tienen datos de fecha. Sin embargo, cuando está disponible, este campo contiene una combinación del año (AAAA) y el mes (MM). Por ejemplo: 2023-05 o 2024.
copyright
Es el texto de derechos de autor que debes mostrar como atribución junto con la imagen de Street View.
reportProblemLink
Es un hipervínculo que los usuarios pueden usar para informar problemas con este mosaico de Street View. Debes mostrar este hipervínculo en la esquina inferior derecha de la imagen y debe incluir texto de vínculo que diga algo como "Informar un problema con esta imagen".
addressComponent
Es una geocodificación estructurada que contiene detalles sobre la dirección de la panorámica.
Para obtener más información, consulta Solicitudes y respuestas de Geocoding en la documentación de la API de Geocoding.
links
Es una lista de IDs de panorámicas que se vinculan a esta. También contiene el rumbo en el que se encuentra el vínculo. Por ejemplo, si el rumbo es de 180°, la panorámica vinculada está al sur de la panorámica actual. Ten en cuenta que, debido a la naturaleza transitoria de los IDs de panorámicas, no debes confiar en ellos por más de una sesión de usuario.

Miniaturas de Street View

Puedes solicitar imágenes de Street View en formato thumbnail. Las miniaturas son imágenes sin mosaicos con tamaño, rumbo, inclinación y campo visual definidos por el usuario. Las imágenes en miniatura tienen una resolución más baja que los mosaicos y son más pequeñas en tamaño de archivo. Para realizar una solicitud de miniatura, envía una solicitud GET al extremo thumbnail, como se muestra en el siguiente prototipo de código.

curl "https://tile.googleapis.com/v1/streetview/thumbnail?session=YOUR_SESSION_TOKEN&key=YOUR_API_KEY&panoId=panoId&height=FROM_16_TO_250&width=FROM_16_TO_600&pitch=FROM-90_TO_90&yaw=FROM-360_TO_360&fov=FROM_30_TO_120"

Considera el siguiente ejemplo de código, que descarga una miniatura de imágenes de Street View tomadas en Whistler, Canadá.

curl "https://tile.googleapis.com/v1/streetview/thumbnail?session=YOUR_SESSION_TOKEN&key=YOUR_API_KEY&panoId=Zzl28rqGJgaL2IdkUleP8A&height=200&width=200&pitch=0&yaw=250&fov=80" --output /tmp/example_thumbnail.png

Miniatura de Street View de Whistler, Canadá

Parámetros obligatorios

panoId
Es el ID único de la miniatura que deseas. Puedes obtener valores de ID de panorámicas desde el panoIds extremo o desde el metadata extremo, los cuales aceptan coordenadas geográficas y muestran el panoId adecuado.
session
Es un token de sesión válido.
key
Es tu clave de API.

Parámetros opcionales

height
Especifica la altura de la miniatura en píxeles, que varía de 16 a 250 píxeles. Si no especificas una altura, la altura predeterminada es el valor máximo permitido de 250 píxeles. Si especificas un valor que está fuera del rango, la miniatura se ajusta al valor válido más cercano.
width
Especifica el ancho de la miniatura en píxeles, que varía de 16 a 600 píxeles. Si no especificas un ancho, el ancho predeterminado es el valor máximo permitido de 600 píxeles. Si especificas un valor que está fuera del rango, la miniatura se ajusta al valor válido más cercano.
pitch
Especifica el ángulo de la cámara a lo largo del eje vertical. Los valores válidos están en el rango -90 a 90 (inclusive). El valor predeterminado es 0.
yaw
Especifica la dirección de la cámara a lo largo del eje horizontal. Los valores válidos están en el rango -360 a 360 (inclusive). El valor predeterminado es 0.
fov
Especifica el campo visual horizontal, expresado en grados, con un valor máximo de 120. Cuando se trata de un viewport de tamaño fijo, como con una imagen de Street View de un tamaño determinado, el campo visual representa el zoom, en el que los valores más pequeños especifican un nivel de zoom más alto. El valor predeterminado es 90.

Mosaicos de imágenes de Street View

Una vez que tengas un panoId, puedes solicitar un mosaico de imagen de Street View. Las solicitudes de mosaicos son solicitudes HTTPS GET. Considera el siguiente ejemplo:

curl "https://tile.googleapis.com/v1/streetview/tiles/z/x/y?session=YOUR_SESSION_TOKEN&key=YOUR_API_KEY&panoId=panoId"

En este ejemplo de código, z es el nivel de zoom, y x y y son las coordenadas del mosaico de Street View que deseas. Los niveles de zoom en las panorámicas de Street View deben estar en el rango [0,5], y 0 representa el campo visual más amplio.

Nivel de zoom Campo visual aproximado
0 360°
1 180°
2 90°
3 45°
4 22.5°
5 11.25°

Respuestas de mosaicos de Street View

Una solicitud de mosaico de Street View exitosa muestra una imagen del formato y el tamaño que especificaste en tu respuesta createSession.

Es el resultado de una solicitud de Tile correcta.

En el nivel de zoom cero, se cambia el tamaño de toda la panorámica a un mosaico de dimensiones tileWidth por tileHeight. Debido a que las panorámicas son más grandes en la dimensión x, el mosaico contendrá espacio vacío en la dimensión y:

Nivel de zoom cero

En el nivel de zoom cinco, se usa la panorámica de tamaño completo y se divide en mosaicos.

Debes mostrar la información de derechos de autor con cada panorámica de Street View. La cadena que se mostrará puede variar entre las panorámicas. Para obtener la información de derechos de autor, debes solicitar metadatos de Street View y, luego, puedes consultar el campo copyright de la respuesta. Para obtener más información, consulta Atribuciones de datos.