I riquadri della 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 più scale cartografiche. L'API Map Tiles ti dà accesso a più set di dati geografici tematici, tra cui quelli curati da Google:
Riquadri di immagini della roadmap basati su dati topografici vettoriali con lo stile cartografico di Google.
Ortofotografia acquisita da fotocamere satellitari e fotocamere aeree che offrono immagini della Terra dall'alto verso il basso (nadir).
Mappe dei contorni dell'ombreggiatura.
I riquadri 2D della mappa sono tutti 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 vedere strade e isolati).
Temi della mappa
Puoi ottenere riquadri della mappa per i seguenti temi della mappa.
Tema della mappa | Descrizione |
---|---|
Roadmap | Strade, edifici, punti d'interesse e confini politici |
Satellite | Immagini fotografiche scattate dallo spazio |
Rilievo | Una mappa di contorni che mostra elementi naturali come la vegetazione |
Per richiedere riquadri mappa dall'API Map Tiles, devi prima richiedere un
token di sessione. Il token di sessione monitora lo stato attuale 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.
Devi quindi 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 del mondo. 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 evitare di richiedere immagini a livelli di zoom inesistenti.
Ad esempio, la maggior parte delle città ha immagini a livello di zoom 22, ma non l'oceano, dato che finirebbe per mostrare quadrati blu senza dettagli.
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
ewest
- 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 nell'intervallo (-180, 180). Per esprimere i limiti che attraversano l'antimeridiano, l'ovest può essere positivo (ad esempio 170) e l'est può essere negativo (ad esempio -170). Tutti i parametri sono obbligatori.
Risposte sulle informazioni sull'area visibile
La risposta dell'area visibile indica quali aree contengono immagini e a quali livelli di zoom. Una risposta con le 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 che devi mostrare sulla mappa quando visualizzi i riquadri della mappa e del satellite. Per maggiori 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 massimo di zoom disponibile all'interno di ogni rettangolo.
Funzioni per le coordinate dei riquadri
Nella maggior parte dei linguaggi di programmazione sono disponibili strumenti (funzioni semplici) 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 un
latLng
a un punto, poi 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
};
}