Mosaicos de Street View

Ejemplo de Street ViewLos mosaicos de Street View son similares a Mosaicos 2D excepto que contienen imágenes panorámicas tomadas a nivel de la calle. Con Street View, puedes explorar puntos de referencia del mundo, ver maravillas naturales y en lugares como museos, estadios, restaurantes o pequeñas empresas. Este extremo de 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 desde el nivel de la calle para crear una efecto panorámico de la vida real. Y puedes consultar hasta 100 IDs de panorámica de un conjunto de ubicaciones (como una ruta) y obtener metadatos más detallados sobre la cámara posición.

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

Una vez que tengas una clave de API, podrás acceder a las imágenes de Street View realizando los siguientes pasos.

  1. Obtén un token de sesión. Asegúrate de que para 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. ubicaciones.

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

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

    2. Miniaturas de Street View.

    3. Mosaicos de Street View.

Métodos de Street View

Para acceder a las imágenes y los metadatos de Street View, llama a una de las siguientes opciones: cuatro métodos.

Método Descripción
https://tile.googleapis.com/v1/streetview/tiles Devuelve los mosaicos individuales de Street View. Puedes recuperar mosaicos de Street View con seis niveles de zoom: desde 512 píxeles hasta 13,312 píxeles.
https://tile.googleapis.com/v1/streetview/panoIds Te permite buscar hasta 100 ubicaciones de forma masiva. Devuelve los ID de panorámica para 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 encabezado, una sugerencia, las 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 panorámicas adyacentes.

Puedes encontrar el identificador de panorámica de una o más ubicaciones geográficas al pasando sus coordenadas (lat, lng) al método panoIds La solicitud body es un objeto JSON que contiene un array locations y, opcionalmente, 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 puede 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 para buscar panorámicas. El valor predeterminado es de 50 metros.

Respuesta PanoId

La API de Map Tiles intenta encontrar la panorámica más cercana a cada ubicación. luego, muestra sus IDs de panorámica. Una solicitud panoIds correcta devuelve un Un objeto JSON que contiene un array panoIds. El array contiene una lista de los IDs de panorámica, en el orden en que los solicitaste. Si la API de Map Tiles no puede encontrar panorámicas para las ubicaciones que solicitaste, en cuyo caso una cadena se devuelve 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 calle La solicitud de vista de metadatos es una solicitud GET de HTTPS. Puedes recuperar información acerca de las panorámicas de dos maneras:

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

  • Pero si pasas una lat y una lng, la API de Map Tiles muestra los metadatos. para obtener el panorama más cercano dentro del radio de búsqueda indicado.

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"

Debido a que los IDs de panorámica 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"

Pasa el valor 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 del cuerpo de la respuesta.

panoId
Es el ID único de esta panorámica. No debe confiar en que los IDs de panorámica válido durante más tiempo que una única sesión de usuario.
lat, lng
Las coordenadas (latitud y longitud) de la panorámica. Estos valores pueden ser diferentes de las coordenadas que pasaste en la solicitud, ya que La ubicación se ajusta a la panorámica más cercana.
imageHeight, imageWidth
Las dimensiones de la imagen panorámica unida.
tileHeight, tileWidth
Son las dimensiones de una tarjeta de una sola panorámica.
heading
La orientación según la brújula, medida en grados, en el sentido de las manecillas del reloj desde el norte. Los encabezados son que se devuelve dentro del rango [0,360], donde 0 representa el norte límite.
tilt
La inclinación de la panorámica, medida en grados desde el polo sur del 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 imagen panorámica.
roll
La rotación en el sentido de las manecillas del reloj alrededor de la línea de visión aplicada a la panorámica para nivelar el horizonte. Los valores que se muestran 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 la que se tomó la imagen. No todas las imágenes tienen datos de fecha. Pero cuando está disponible, este campo contiene una combinación del año (AAAA) y del mes (MM). Por ejemplo: 2023-05 o 2024.
copyright
El texto de los derechos de autor que debes mostrar como atribución junto con la dirección Ver imagen.
reportProblemLink
Un hipervínculo que tus usuarios pueden utilizar para informar problemas con esta vista de Street View mosaico. Debes mostrar este hipervínculo en la esquina inferior derecha de la imagen y debe incluir un texto del vínculo que diga algo como "Informar un problema por esta imagen".
addressComponent
Una estructura Geocodificar que contiene detalles acerca de la dirección de la panorámica. Para obtener más información, ver Solicitudes y respuestas de Geocoding en la documentación de la API de Geocoding.
links
Es una lista de los IDs de panorámica que se vinculan con esta. También contiene el encabezado de en la que se encuentra el vínculo. Por ejemplo, si la orientación es 180°, entonces el panorámica vinculada se orienta al sur del panorama actual. Ten en cuenta que debido a la naturaleza transitoria de los IDs de panorama, no debes confiar en ellos para obtener que una sola 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, encabezado, tono y campo de visión definidos por el usuario. Las imágenes en miniatura tienen una resolución más baja que los mosaicos y el archivo es más pequeño. de tamaño del ensamble. Para enviar una solicitud de miniatura, envía una solicitud GET al thumbnail como se demuestra 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 Street View imágenes 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
El ID único de la miniatura que quieres. Puedes obtener los valores de ID de panorámica. desde el extremo panoIds o desde Extremo metadata: Ambos aceptan ubicaciones geográficas. coordenadas y muestra el panoId adecuado.
session
Un token de sesión válido.
key
Tu clave de API.

Parámetros opcionales

height
Especifica la altura de la miniatura en píxeles, que va de 16 a 250 píxeles Si no especificas una altura, la altura predeterminada será el valor máximo permitido de 250 píxeles. Si especificas un valor que está fuera del rango Luego, la miniatura se ajusta al valor válido más cercano.
width
Especifica el ancho de la miniatura en píxeles, que oscila entre 16 y 600 píxeles. Si no especificas un ancho, el ancho se establecerá de forma predeterminada en el valor máximo el valor permitido de 600 píxeles. Si especificas un valor que está fuera del rango, la miniatura 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 se indican en el rango de -90 a 90 (inclusive). El valor predeterminado es 0.
yaw
Especifica la dirección de la cámara a lo largo del eje horizontal. Valores válidos están en el rango de -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 Street View imagen de un tamaño establecido; el campo visual representa el zoom; donde los valores más pequeños especifican un mayor nivel de zoom. El valor predeterminado es 90.

Mosaicos de imágenes de Street View

Una vez que tengas un panoId, podrás solicitar un mosaico de imagen de Street View. Mosaico 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. x y y son las coordenadas de mosaicos del mosaico de Street View que deseas. Los niveles de zoom de las panorámicas de Street View deben estar dentro del rango [0,5], donde 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 devuelve una imagen con el formato y el tamaño. que especificaste en tu respuesta createSession.

Resultado de una solicitud de mosaico exitosa

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

Nivel de zoom cero

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

Debes mostrar información sobre derechos de autor en cada panorámica de Street View. El string para mostrar puede variar de una panorámica a otra. Para obtener la información sobre derechos de autor, debes solicitar los metadatos de Street View. consulta el campo copyright de la respuesta. Para obtener más información, consulta Atribuciones de datos.