Panoramica dei riquadri 2D

Esempio di roadmapI riquadri di mappa sono semplicemente la suddivisione del mondo in una griglia indicizzata. Consente di accedere e utilizzare i dati delle mappe in modo efficiente e dinamico su diverse scale cartografiche. L'API Map Tiles ti consente di accedere a numerosi set di dati geografici tematici, tra cui quelli selezionati da Google:

  • Riquadri di immagini della roadmap basati su dati topografici vettoriali con lo stile cartografico di Google.

  • Ortofotografia acquisita da fotocamere satellitari e aeree che forniscono immagini della Terra dall'alto verso il basso (nadir).

  • Mappe di contorno Hillshade.

I riquadri di mappa 2D sono georeferenziati e allineati tra loro. Vengono selezionati in base all'estensione geografica dell'area visibile e al livello di zoom. I livelli di zoom vanno da zero (per vedere il mondo nella sua interezza) a 22 (per visualizzare strade e isolati).

Temi della mappa

Puoi visualizzare riquadri della mappa per i seguenti temi della mappa.

Tema della mappa Descrizione
Roadmap Strade, edifici, punti di interesse e confini politici
Satellite Immagini fotografiche scattate dallo spazio
Rilievo Una mappa di contorno che mostra elementi naturali come la vegetazione

Per richiedere riquadri di mappa dall'API Map Tiles, devi prima richiedere un token di sessione. Il token di sessione monitora lo stato corrente della mappa e dell'area visibile. Quando configuri il token di sessione, devi impostare il valore mapType in modo che corrisponda al tema della mappa che preferisci. Poi, devi includere il token di sessione in ogni richiesta all'API Map Tiles.

Richieste di informazioni sull'area visibile

L'area visibile definisce le dimensioni del riquadro che incornicia la scena mondiale. Le richieste di informazioni sull'area visibile restituiscono dettagli sui riquadri della mappa che compongono l'area visibile corrente. Le informazioni sull'area visibile vengono richieste per assicurarti di evitare di richiedere immagini a livelli di zoom inesistenti.

Ad esempio, la maggior parte delle città dispone di immagini a livello di zoom 22, ma non dell'oceano, in quanto finirebbero per mostrare quadrati blu senza elementi.

La richiesta dell'area visibile è una richiesta HTTPS GET nel formato seguente.

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 richiesta contiene i seguenti campi:

zoom
Il livello di zoom dell'area visibile.
north, south, east e west
I punti più a nord, sud, est e ovest nell'area visibile, espressi in gradi. Nord e sud devono essere compresi nell'intervallo (-90,90), mentre est e ovest devono essere compresi nell'intervallo (-180, 180). Per esprimere i limiti che attraversano l'antimeridiano, a ovest può essere un valore positivo (ad es. 170) mentre a est può essere negativo (ad es. -170). Tutti i parametri sono obbligatori.

Risposte alle informazioni sull'area visibile

La risposta dell'area visibile indica quali aree contengono immagini e a quali livelli di zoom. Una risposta di informazioni sull'area visibile ha il formato seguente.

{
  "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
    }, ...
  ]
}

Il corpo della risposta contiene i campi seguenti.

copyright
Contiene una stringa di attribuzione da mostrare sulla mappa quando vengono visualizzati i riquadri della mappa e del satellite. Per ulteriori informazioni, consulta le norme relative all'API Map Tiles.
maxZoomRect
Contiene un array di rettangoli di delimitazione che si sovrappongono all'area visibile corrente. Contiene anche il livello di zoom massimo disponibile all'interno di ogni rettangolo.

Funzioni di coordinate dei riquadri

Nella maggior parte dei linguaggi di programmazione sono disponibili strumenti (funzioni semplici) per la conversione da coppie di latitudine/longitudine alle coordinate dei riquadri a un determinato livello di zoom. Considera il seguente esempio di codice JavaScript che prima converte da un latLng a un punto, quindi da un punto alle coordinate del riquadro.

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
  };
}