Tuiles Street View

Développeurs de l'Espace économique européen (EEE)

Exemple de tuiles Street View

Les tuiles Street View sont semblables aux tuiles 2D, sauf qu'elles contiennent des images panoramiques prises au niveau de la rue. Grâce à Street View, vous pouvez explorer des sites célèbres du monde entier, découvrir des merveilles naturelles, et visiter des lieux aussi variés que des musées, des stades, des restaurants et des petites entreprises. Ce point de terminaison d'API vous donne accès aux éléments suivants :

  • Google Maps Street View Tiles
  • Métadonnées Street View
  • Vignettes Street View

Vous pouvez assembler des tuiles d'images prises au niveau de la rue pour créer un effet panoramique réaliste. Vous pouvez interroger jusqu'à 100 ID de panorama pour un ensemble de lieux (comme un itinéraire) et obtenir des métadonnées plus détaillées sur la position de la caméra.

Un lecteur est nécessaire pour assembler les tuiles Street View. Par exemple, le lecteur de panorama personnalisé Street View.

Une fois que vous disposez d'une clé API, vous pouvez accéder aux images Street View en procédant comme suit.

  1. Obtenez un jeton de session. Veillez à définir la valeur de mapType sur streetview.

  2. Utilisez le jeton de session pour obtenir l'identifiant de panorama (panoId) d'un ou de plusieurs lieux géographiques.

  3. Utilisez les identifiants de panorama de la réponse de recherche panoId pour obtenir :

    1. Métadonnées Street View : Vous pouvez également obtenir des métadonnées Street View en transmettant un ensemble de coordonnées et un rayon.

    2. Miniatures Street View :

    3. Street View Tiles

Méthodes Street View

Vous pouvez accéder aux images et aux métadonnées Street View en appelant l'une des quatre méthodes suivantes.

Méthode Description
https://tile.googleapis.com/v1/streetview/tiles Renvoie les tuiles Street View individuelles. Vous pouvez récupérer des tuiles Street View à six niveaux de zoom : de 512 pixels à 13 312 pixels.
https://tile.googleapis.com/v1/streetview/panoIds Vous permet de rechercher jusqu'à 100 établissements à la fois. Renvoie les ID de panorama pour tous les lieux avec des images.
https://tile.googleapis.com/v1/streetview/thumbnail Renvoie une image JPEG miniature d'une scène Street View. Vous permet de fournir un cap, une inclinaison, des dimensions et un champ de vision. Les dimensions minimales sont de 16 x 16 pixels. Les dimensions maximales sont de 250 x 600 pixels.
https://tile.googleapis.com/v1/streetview/metadata Fournit des informations détaillées sur le panorama spécifié. Les détails incluent l'adresse associée et des liens vers les panoramas adjacents.

Vous pouvez trouver l'identifiant de panorama d'un ou de plusieurs lieux géographiques en transmettant leurs coordonnées (lat, lng) à la méthode panoIds. Le corps de la requête est un objet JSON qui contient un tableau locations et, éventuellement, un radius, comme indiqué dans l'exemple de code JSON suivant.

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
Le tableau locations doit contenir au moins un ensemble de valeurs de coordonnées, mais vous pouvez en inclure davantage (jusqu'à 100).
radius
La valeur radius (mesurée en mètres) définit le rayon du cercle autour du lieu donné, dans lequel rechercher des panoramas. La valeur par défaut est de 50 mètres.

Réponse PanoId

L'API Map Tiles tente de trouver le panorama le plus proche de chaque lieu, puis renvoie ses ID de panorama. Une requête panoIds réussie renvoie un objet JSON contenant un tableau panoIds. Le tableau contient une liste d'ID de panoramas, dans l'ordre dans lequel vous les avez demandés. Si l'API Map Tiles ne trouve aucun panorama pour les lieux que vous avez demandés, une chaîne vide est renvoyée à cet emplacement dans le tableau. Pour obtenir un exemple, consultez le code JSON suivant.

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

Vous pouvez utiliser panoIds pour :

Métadonnées Street View

Les demandes de métadonnées Street View permettent de récupérer des informations sur les panoramas. Une requête de métadonnées Street View est une requête HTTPS GET. Vous pouvez récupérer des informations sur les panoramas de deux manières :

  • Si vous transmettez un pano_id, l'API Map Tiles renvoie les métadonnées de ce panorama.

  • Toutefois, si vous transmettez un lat et un lng, l'API Map Tiles renvoie les métadonnées du panorama le plus proche dans le rayon de recherche indiqué.

Transmettre un ensemble de coordonnées et un rayon

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

Étant donné que les ID de panorama sont temporaires, nous vous recommandons de transmettre un ensemble de coordonnées et une valeur radius dans votre requête initiale de métadonnées Street View. Pour obtenir un exemple, consultez l'extrait de code suivant.

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

Transmettre le panoId d'une image Street View

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

Réponse des métadonnées

Le code JSON suivant est un exemple de réponse de métadonnées typique.

{
 "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 liste suivante contient les définitions des champs du corps de la réponse.

panoId
Identifiant unique de ce panorama. Vous ne devez pas vous attendre à ce que les ID Panorama soient valides au-delà d'une seule session utilisateur.
lat, lng
 : coordonnées (latitude et longitude) du panorama. Ces valeurs peuvent être différentes des coordonnées que vous avez transmises dans la requête, car l'emplacement est ancré au panorama le plus proche.
imageHeight, imageWidth
Dimensions de l'image panoramique assemblée.
tileHeight, tileWidth
Dimensions d'une seule tuile panoramique.
heading
Cap de la boussole, mesuré en degrés dans le sens des aiguilles d'une montre à partir du nord. Les titres sont renvoyés dans la plage [0,360], 0 représentant le nord.
tilt
Inclinaison du panorama, mesurée en degrés entre le pôle Sud du panorama et l'horizon. Les valeurs renvoyées sont comprises dans la plage [0, 180]. Une valeur de 90 degrés indique que l'horizon est déjà aligné sur l'équateur du panorama.
roll
Rotation dans le sens des aiguilles d'une montre autour de la ligne de vue qui a été appliquée au panorama pour niveler l'horizon. Les valeurs renvoyées sont comprises dans la plage [0, 360].
imageryType
Indique le type d'image. Les valeurs valides sont indoor et outdoor.
date
 Date à laquelle l'image a été prise. Toutes les images ne comportent pas de données de date. Toutefois, lorsqu'il est disponible, ce champ contient une combinaison de l'année (AAAA) et du mois (MM). Par exemple : 2023-05 ou 2024.
copyright
Texte sur les droits d'auteur que vous devez afficher en tant qu'attribution avec l'image Street View.
reportProblemLink
Hyperlien que vos utilisateurs peuvent utiliser pour signaler des problèmes liés à cette tuile Street View. Vous devez afficher ce lien hypertexte en bas à droite de l'image. Le texte du lien doit être quelque chose comme "Signaler un problème avec cette image".
addressComponent
Geocode structuré qui contient des détails sur l'adresse du panorama. Pour en savoir plus, consultez Requêtes et réponses de géocodage dans la documentation de l'API Geocoding.
links
Liste des ID de panoramas qui renvoient à celui-ci. Contient également le titre sous lequel le lien est trouvé. Par exemple, si le cap est de 180°, le panorama associé se trouve plein sud par rapport au panorama actuel. Notez qu'en raison de la nature éphémère des ID de panorama, vous ne devez pas vous y fier pour plus d'une session utilisateur.

Vignettes Street View

Vous pouvez demander des images Street View au format thumbnail. Les miniatures sont des images non mosaïquées dont la taille, le cap, l'inclinaison et le champ de vision sont définis par l'utilisateur. Les miniatures ont une résolution inférieure à celle des tuiles et sont plus petites en termes de taille de fichier. Pour demander une miniature, envoyez une requête GET au point de terminaison thumbnail, comme illustré dans le prototype de code suivant.

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"

Prenons l'exemple de code suivant, qui télécharge une miniature d'images Street View prises à Whistler, au Canada.

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

Vignette Street View de Whistler, au Canada

Paramètres obligatoires

panoId
 ID unique de la miniature souhaitée. Vous pouvez obtenir les valeurs d'ID de panorama à partir du point de terminaison panoIds ou du point de terminaison metadata. Ces deux points de terminaison acceptent les coordonnées géographiques et renvoient le panoId approprié.
session
Un jeton de session valide.
key
 : votre clé API.

Paramètres facultatifs

height
Indique la hauteur de la miniature en pixels (entre 16 et 250 pixels). Si vous ne spécifiez pas de hauteur, la valeur par défaut est la hauteur maximale autorisée de 250 pixels. Si vous spécifiez une valeur hors plage, la vignette s'aligne sur la valeur valide la plus proche.
width
Spécifie la largeur de la miniature en pixels (entre 16 et 600 pixels). Si vous ne spécifiez pas de largeur, la largeur par défaut est la valeur maximale autorisée de 600 pixels. Si vous spécifiez une valeur hors plage, la miniature s'aligne sur la valeur valide la plus proche.
pitch
Spécifie l'angle de la caméra le long de l'axe vertical. Les valeurs valides sont comprises entre -90 et 90 (inclus). La valeur par défaut est 0.
yaw
Spécifie la direction de la caméra sur l'axe horizontal. Les valeurs valides sont comprises entre -360 et 360 (inclus). La valeur par défaut est 0.
fov
Spécifie le champ de vision horizontal, exprimé en degrés, avec une valeur maximale de 120. Lorsque vous utilisez une fenêtre d'affichage de taille fixe, comme une image Street View de taille définie, le champ de vision représente le zoom. Les valeurs les plus petites spécifient un niveau de zoom plus élevé. La valeur par défaut est 90.

Tuiles d'images Street View

Une fois que vous avez un panoId, vous pouvez demander une tuile d'image Street View. Les requêtes de tuiles sont des requêtes HTTPS GET. Voici un exemple.

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

Dans cet exemple de code, z correspond au niveau de zoom, et x et y correspondent aux coordonnées de la tuile Street View souhaitée. Les niveaux de zoom dans les panoramas Street View doivent être compris entre 0 et 5, 0 représentant le champ de vision le plus large.

Niveau de zoom Champ de vision approximatif
0 360°
1 180°
2 90°
3 7 °
4 22,5°
5 11,25°

Réponses Street View Tiles

Une requête de tuile Street View réussie renvoie une image au format et à la taille que vous avez spécifiés dans votre réponse createSession.

Résultat d'une requête Tile réussie

Au niveau de zoom 0, le panorama entier est redimensionné en une tuile de dimensions tileWidth x tileHeight. Comme les panoramas sont plus grands dans la dimension x, la vignette contiendra un espace vide dans la dimension y :

Niveau de zoom zéro

Au niveau de zoom 5, le panorama en taille réelle est utilisé et divisé en tuiles.

Vous devez afficher les informations sur les droits d'auteur avec chaque panorama Street View. La chaîne à afficher peut varier d'un panorama à l'autre. Pour obtenir les informations sur les droits d'auteur, vous devez demander les métadonnées Street View, puis vous pouvez vous référer au champ copyright de la réponse. Pour en savoir plus, consultez Attributions de données.