Panoramica dei riquadri 2D

Esempio di roadmapI riquadri della mappa non sono altro che la divisione del mondo in un a griglia. Puoi accedere ai dati delle mappe e utilizzarli in modo efficiente e dinamico su più scale cartografiche. L'API Map Tiles ti dà accesso a più set di dati tematici, tra cui:

  • Riquadri di immagini della roadmap basati su dati topografici vettoriali con stili cartografici.

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

  • Mappe dei contorni di Hillshade.

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

Temi della mappa

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

Tema mappa Descrizione
Roadmap Strade, edifici, punti d'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 della mappa dall'API Map Tiles, devi prima richiedere un token di sessione. Il token di sessione tiene traccia dello stato corrente della mappa e dell'area visibile. Quando configuri la sessione devi impostare il valore mapType in modo che corrisponda al tema della mappa che preferisci. Quindi, devi includere il token di sessione in ogni richiesta di API Map Tiles.

Richieste di informazioni sull'area visibile

L'area visibile definisce le dimensioni del riquadro che incornicia la scena del mondo. Area visibile le richieste di informazioni restituiscono dettagli sui riquadri della mappa che compongono il tuo area visibile corrente. Il motivo per cui richiedi informazioni sull'area visibile serve evitare di richiedere immagini a livelli di zoom inesistenti.

Ad esempio, per la maggior parte delle città sono disponibili immagini a livello di zoom 22, ma non l'oceano, finirebbe per mostrare quadrati blu senza caratteristiche.

La richiesta di area visibile è una richiesta GET HTTPS 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), est e ovest devono essere compresi l'intervallo (-180, 180). Per esprimere i confini che superano l'antimeridiano, ovest può essere positivo (ad es. 170) mentre est può essere negativo (ad es. -170). Tutti sono obbligatori.

Risposte relative alle informazioni sull'area visibile

La risposta dell'area visibile indica per quali aree sono presenti immagini e a quale zoom diversi. Una risposta alle informazioni sull'area visibile ha il seguente modulo.

{
  "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 seguenti campi.

copyright
Contiene una stringa di attribuzione che devi visualizzare sulla mappa quando visualizzare riquadri di roadmap e satelliti. Per ulteriori informazioni, consulta Norme dell'API Map Tiles.
maxZoomRect
Contiene un array di rettangoli di delimitazione che si sovrappongono al area visibile. Contiene anche il livello di zoom massimo disponibile all'interno di ogni rettangolo.

Funzioni coordinate dei riquadri

Strumenti (funzioni semplici) sono disponibili nella maggior parte dei linguaggi di programmazione per la conversione dalle coppie latitudine/longitudine alle coordinate dei riquadri a un livello di zoom specifico. Considera il seguente esempio di codice JavaScript che esegue prima la conversione da una latLng a un punto e poi da un punto a un 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
  };
}