Utiliser des jetons de session avec l'API Map Tiles

Un jeton de session est un élément de données (un UUID) utilisé dans les appels REST pour identifier une session, c'est-à-dire une série d'échanges de messages associés. Vous devez inclure un jeton de session dans toutes les requêtes de cartes 2D et d'images Street View. Vous l'incluez en tant que valeur d'un paramètre session ajouté à toutes les URL de requête.

Dans l'API Map Tiles, un jeton de session représente un ensemble défini d'options d'affichage. Cela signifie que vous n'avez pas besoin de transmettre un ensemble d'options d'affichage avec chaque requête de carte. Vous pouvez utiliser le même jeton de session pour plusieurs clients. Un jeton de session est actuellement valide pendant deux semaines à compter de sa date d'émission, mais cela peut changer. Vous pouvez toujours vérifier le délai d'expiration d'un jeton de session en consultant le champ expiry du message de réponse.

Requête de jeton de session

Pour demander un jeton de session, envoyez une requête POST HTTPS au point de terminaison createSession, comme illustré dans l'exemple suivant. Vous devez envoyer la requête avec un en-tête Content-Type: application/json.

curl -X POST -d '{
  "mapType": "streetview",
  "language": "en-US",
  "region": "US"
}' \
-H 'Content-Type: application/json' \
"https://tile.googleapis.com/v1/createSession?key=YOUR_API_KEY"

Champs obligatoires

mapType

Type de la carte de base. Cette valeur peut être l'une des suivantes :

roadmap
Tuiles de carte peintes standards de Google Maps.
satellite
Imagerie satellite
terrain
Images du terrain Lorsque vous sélectionnez terrain comme type de carte, vous devez également inclure le type de calque layerRoadmap (décrit dans la section Champs facultatifs).
streetview
Panoramas Street View. Pour en savoir plus, consultez Cartes Street View.
language

Balise de langue IETF qui spécifie la langue utilisée pour afficher les informations sur les cartes. Par exemple, en-US spécifie la langue anglaise telle qu'elle est parlée aux États-Unis.

region

Un identifiant de région Common Locale Data Repository (deux lettres majuscules) représentant l'emplacement physique de l'utilisateur. Exemple :US

Champs facultatifs

imageFormat
Spécifie le format de fichier à renvoyer. Les valeurs valides sont jpeg ou png. Les fichiers JPEG ne sont pas compatibles avec la transparence. Ils ne sont donc pas recommandés pour les cartes superposées. Si vous ne spécifiez pas de imageFormat, le meilleur format pour la carte est choisi automatiquement.
scale

Agrandit la taille des éléments de la carte (tels que les libellés des routes), tout en conservant la taille de la tuile et la zone de couverture de la tuile par défaut. Augmenter l'échelle réduit également le nombre de libellés sur la carte, ce qui réduit l'encombrement. Les valeurs suivantes sont des valeurs scale valides :

  • scaleFactor1x: valeur par défaut.
  • scaleFactor2x : double la taille des libellés et supprime les libellés des éléments mineurs.
  • scaleFactor4x : quadruple la taille des libellés et supprime les libellés des éléments mineurs.

Les exemples suivants illustrent l'effet de la mise à l'échelle des éléments de la carte.

Facteur d'échelle 1x Facteur d'échelle 2x
Carte affichant le facteur d'échelle 1 Carte avec facteur d'échelle x 2
highDpi
Indique si des tuiles haute résolution doivent être renvoyées. Si le facteur d'adaptation est augmenté, highDpi est utilisé pour augmenter la taille de la carte. En règle générale, augmenter le facteur de mise à l'échelle agrandira la carte obtenue en une image de la même taille, ce qui réduit la qualité. Avec highDpi, la taille obtenue est également augmentée, ce qui préserve la qualité. DPI signifie "points par pouce" et "High DPI" signifie que la tuile s'affiche en utilisant plus de points par pouce que d'habitude. Si true, le nombre de pixels dans chacune des dimensions x et y est multiplié par le facteur de mise à l'échelle (c'est-à-dire 2 ou 4 fois). La zone de couverture de la carte reste inchangée. Ce paramètre ne fonctionne qu'avec des valeurs scale de 2 ou 4. Cela n'a aucun effet sur les cartes à l'échelle 1.
Facteur d'échelle 1x Facteur d'échelle 2 x PPP élevé
Carte affichée à une résolution standard Carte affichée à une résolution haute résolution 2 fois
layerTypes

Tableau de valeurs qui spécifie les types de calques ajoutés à la carte. Les valeurs valides sont les suivantes :

layerRoadmap
Obligatoire si vous spécifiez terrain comme type de carte. Peut également être superposé au type de carte satellite. N'a aucun effet sur les cartes de la feuille de route.
layerStreetview
Indique les rues et les lieux pour lesquels Street View est activé à l'aide de contours bleus sur la carte.
layerTraffic
Affiche les conditions de circulation actuelles.
styles

Tableau d'objets de style JSON qui spécifient l'apparence et le niveau de détail des éléments géographiques de la carte, tels que les routes, les parcs et les zones construites. Le style permet de personnaliser la carte de base Google standard. Le paramètre styles n'est valide que si le type de carte est roadmap. Pour obtenir la syntaxe complète des styles, consultez la documentation de référence sur les styles.

overlay

Valeur booléenne indiquant si layerTypes doit être affiché en superposition distincte ou combiné à l'imagerie de base. Lorsque la valeur est true, la carte de base n'est pas affichée. Si vous n'avez défini aucun layerTypes, cette valeur est ignorée.

Par exemple, si vous demandez un type de carte satellite avec une couche layerRoadmap et que overlay est défini sur false, vous obtiendrez des tuiles équivalentes au type de carte hybrid utilisé dans l'API Maps JavaScript (image de gauche). Les mêmes types de carte et de calque avec overlay défini sur true génèrent une carte transparente avec une superposition de carte, stylisée de manière appropriée pour être superposée aux images satellite (image de droite).

overlay : false overlay: true
Superposition définie sur "false" Superposition définie sur "true"

Le code JSON suivant est un exemple de corps de requête typique qui contient à la fois des champs obligatoires et facultatifs.

{
  "mapType": "satellite",
  "language": "en-US",
  "region": "us",
  "layerTypes": [ "layerRoadmap", "layerStreetview" ],
  "overlay":  true,
  "scale": "scaleFactor1x",
  "styles": [
    {
      "stylers": [
        { "hue": "#00ffe6" },
        { "saturation": -20 }
      ]
    },{
      "featureType": "road",
      "elementType": "geometry",
      "stylers": [
        { "lightness": 100 },
        { "visibility": "simplified" }
      ]
    }
  ]
}

Cet exemple fournit une superposition adaptée à la combinaison avec des images satellites. L'exemple contient à la fois une carte et une superposition Street View. La carte générée affiche les noms et les données en anglais, comme c'est le cas aux États-Unis.

apiOptions : tableau de valeurs spécifiant les options supplémentaires à appliquer. Les options suivantes sont acceptées :

  • MCYJ5E517XR2JC : activez le nouveau style de carte. Pendant la période d'activation, vos requêtes recevront le style existant, sauf si cette valeur est spécifiée.

Réponse du jeton de session

Le code JSON suivant est un exemple de corps de réponse.

{
  "session": "IgAAAHGU9jnAU4KOAfwY3Bcd6eH_WxQsyocSBAdUnAr9pnvTTNXtF9c_27RBo94ytEXTDg",
  "expiry": "1361828036",
  "tileWidth": 256,
  "tileHeight": 256,
  "imageFormat": "png"
}

La liste suivante contient les définitions des champs dans le corps de la réponse.

session
Valeur de jeton de session que vous devez inclure dans toutes vos requêtes API Map Tiles.
expiry
Chaîne contenant l'heure (en secondes depuis l'epoch) à laquelle le jeton expire. Un jeton de session est valide pendant deux semaines à compter de sa création, mais cette règle peut être modifiée sans préavis.
tileWidth
Largeur des tuiles mesurée en pixels.
tileHeight
Hauteur des cartes, mesurée en pixels.
imageFormat
Format de l'image, qui peut être png ou jpeg.