I riquadri della mappa sono semplicemente la suddivisione del mondo in una griglia indicizzata. Consente di 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 geografici tematici, tra cui:
Riquadri di immagini stradali basati su dati topografici vettoriali con lo stile cartografico di Google.
Ortofotografia acquisita da fotocamere satellitari e aeree che forniscono immagini dall'alto verso il basso (nadir) della Terra.
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. 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 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 i riquadri della 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.
Quindi, devi includere il token di sessione in ciascuna delle richieste 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 dell'area visibile restituiscono i dettagli dei riquadri della mappa che compongono l'area visibile corrente. Il motivo per cui richiedi informazioni sull'area visibile è assicurarti di evitare di richiedere immagini a livelli di zoom che non esistono.
Ad esempio, nella maggior parte delle città sono disponibili immagini a livello di zoom 22, ma non l'oceano, perché finirebbe per mostrare quadrati blu di 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
ewest
- I punti più a nord, sud, est e ovest nell'area visibile, espressi in gradi. Nord e sud devono essere nell'intervallo (-90,90), est e ovest devono essere nell'intervallo (-180, 180). Per esprimere i limiti che superano l'antimeridiano, l'ovest può essere positivo (ad es. 170), mentre l'est può essere negativo (ad esempio -170). Tutti i parametri sono obbligatori.
Risposte relative alle informazioni sull'area visibile
La risposta dell'area visibile indica per quali aree sono presenti immagini e a quali livelli di zoom. 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 visualizzi riquadri di roadmap e satellite. Per maggiori informazioni, consulta i criteri dell'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 coordinate dei riquadri
Nella maggior parte dei linguaggi di programmazione sono disponibili strumenti (funzioni semplici) per convertire
le coppie di latitudine/longitudine in coordinate di riquadri a un livello di zoom specifico.
Considera il seguente esempio di codice JavaScript che esegue prima la conversione da latLng
a un punto e poi da un punto alle coordinate di 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
};
}