Présentation des cartes 2D

Exemple de feuille de routeLes tuiles de carte sont simplement la division du monde dans une grille indexée. Il vous permet d'accéder aux données cartographiques et de les utiliser de manière efficace et dynamique à plusieurs échelles cartographiques. L'API Map Tiles vous donne accès à plusieurs ensembles de données géographiques thématiques, y compris des ensembles de données sélectionnés par Google:

  • Tuiles d'images de feuille de route basées sur des données topographiques vectorielles au style cartographique de Google.

  • Les orthophotographies sont prises par des appareils photo satellite et aériens, qui fournissent des images du nadir (de haut en bas) de la Terre.

  • Cartes de contour d'ombrage

Les tuiles de carte 2D sont toutes géoréférencées et alignées les unes sur les autres. Elles sont sélectionnées en fonction de l'étendue géographique de la fenêtre d'affichage et du niveau de zoom. Les niveaux de zoom sont compris entre 0 (pour voir le monde dans son intégralité) et 22 (pour afficher les rues et les pâtés de maisons).

Thèmes de carte

Vous pouvez obtenir des tuiles de carte pour les thèmes de carte suivants.

Thème de la carte Description
Feuille de route Routes, bâtiments, points d'intérêt et limites politiques
Satellite Photographies prises depuis l'espace
Relief Une carte de contour qui montre les éléments géographiques naturels, comme la végétation

Pour demander des tuiles de carte à l'API Map Tiles, vous devez d'abord demander un jeton de session. Le jeton de session suit l'état actuel de votre carte et de votre fenêtre d'affichage. Lorsque vous configurez votre jeton de session, vous devez définir la valeur mapType pour qu'elle corresponde au thème de carte souhaité. Vous devez ensuite inclure le jeton de session dans chacune des requêtes adressées à l'API Map Tiles.

Demandes d'informations sur la fenêtre d'affichage

La fenêtre d'affichage définit la taille de la zone qui encadre la scène mondiale. Les requêtes d'informations sur la fenêtre d'affichage renvoient des détails sur les tuiles de carte qui constituent votre fenêtre d'affichage actuelle. Vous demandez des informations sur la fenêtre d'affichage pour éviter de demander des images à des niveaux de zoom inexistants.

Par exemple, la plupart des villes disposent d'images au niveau de zoom 22, mais pas au niveau de l'océan, car il finirait par afficher des carrés bleus sans caractéristiques.

La requête de fenêtre d'affichage est une requête HTTPS GET au format suivant.

curl "https://tile.googleapis.com/tile/v1/viewport?session=YOUR_SESSION_TOKEN&key=YOUR_API_KEY&zoom=zoom&north=north&south=south&east=east&west=west"

La requête contient les champs suivants :

zoom
Niveau de zoom de la fenêtre d'affichage.
north, south, east, west
Points les plus nord, sud, est et ouest dans la fenêtre d'affichage, exprimés en degrés. Le nord et le sud doivent être compris dans la plage (-90,90), et l'est et l'ouest doivent être compris dans la plage (-180, 180). Pour exprimer les limites de l'antiméridien, la valeur "ouest" peut être positive (par exemple, 170) et la valeur "est" peut être négative (par exemple, -170). Tous les paramètres sont obligatoires.

Réponses concernant les informations sur la fenêtre d'affichage

La réponse de la fenêtre d'affichage vous indique les zones qui comportent des images, ainsi que les niveaux de zoom. Une réponse contenant des informations sur la fenêtre d'affichage se présente sous la forme suivante.

{
  "copyright": "Map data ©2023",
  "maxZoomRects": [
    {
      "maxZoom": 19,
      "north": 90,
      "south": -90,
      "east": 180,
      "west": -180
    },
    {
      "maxZoom": 9,
      "north": 90,
      "south": -90,
      "east": 180,
      "west": -180
    },
    {
      "maxZoom": 14,
      "north": 84.375,
      "south": -84.375,
      "east": 180,
      "west": -180
    }, ...
  ]
}

Le corps de la réponse contient les champs suivants.

copyright
Contient une chaîne d'attribution que vous devez afficher sur votre carte lorsque vous affichez les tuiles de carte routière et satellite. Pour en savoir plus, consultez les règles de l'API Map Tiles.
maxZoomRect
Contient un tableau de rectangles de délimitation qui chevauchent la fenêtre d'affichage actuelle. Contient également le niveau de zoom maximal disponible pour chaque rectangle.

Fonctions de coordonnées de tuile

Des outils (fonctions simples) sont disponibles dans la plupart des langages de programmation pour convertir des paires latitude/longitude en coordonnées de tuiles à un niveau de zoom spécifique. Prenons l'exemple de code JavaScript suivant, qui convertit d'abord un latLng en point, puis d'un point en coordonnées de tuile.

var TILE_SIZE = 256;

function fromLatLngToPoint(latLng) {
  var mercator = -Math.log(Math.tan((0.25 + latLng.lat() / 360) * Math.PI));
  return {
    x: TILE_SIZE * (latLng.lng() / 360 + 0.5),
    y: TILE_SIZE / 2 * (1 +  mercator / Math.PI)
  };
}

function fromLatLngToTileCoord(latLng, zoom) {
  var point = fromLatLngToPoint(latLng);
  var scale = Math.pow(2, zoom);

  return {
    x: Math.floor(point.x * scale / TILE_SIZE),
    y: Math.floor(point.y * scale / TILE_SIZE),
    z: zoom
  };
}