Présentation des cartes 2D

Exemple de feuille de routeLes tuiles de carte représentent simplement la division du monde en une grille indexée. Il vous permet d'accéder aux données cartographiques et de les utiliser de manière efficace et dynamique, à différentes é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'image de feuille de route basées sur des données topographiques vectorielles avec le style cartographique de Google.

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

  • Cartes arrondies de l'ombrage

Les tuiles de carte 2D sont toutes géo-référencées et alignées les unes par rapport aux 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 vont de zéro (pour afficher le monde dans son intégralité) à 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 Images prises depuis l'espace
Relief Une carte en contours qui montre des éléments géographiques naturels tels que la végétation

Pour demander des tuiles de carte à partir de 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 de vos 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 du monde. Les requêtes d'informations sur la fenêtre d'affichage renvoient des détails sur les tuiles de carte qui composent votre fenêtre d'affichage actuelle. Vous demandez des informations de fenêtre d'affichage pour éviter de demander des images à des niveaux de zoom qui n'existent pas.

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

La requête de fenêtre d'affichage est une requête GET HTTPS 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 au nord, au sud, à l'est et à l'ouest de 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 qui traversent l'antiméridien, l'ouest peut être positif (par exemple, 170) et l'est peut être négatif (par exemple, -170). Tous les paramètres sont obligatoires.

Réponses aux requêtes d'informations sur la fenêtre d'affichage

La réponse de la fenêtre d'affichage vous indique quelles zones contiennent des images, et à quels niveaux de zoom. Une réponse d'information de 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 des tuiles de feuille de route et de 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 dans 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 tuile à un niveau de zoom spécifique. Prenons l'exemple de code JavaScript suivant, qui convertit d'abord les coordonnées d'un latLng en un 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
  };
}