I riquadri della mappa sono semplicemente la suddivisione del mondo in una griglia indicizzata. Ti consente di accedere e utilizzare i dati delle mappe in modo efficiente e dinamico su più scale cartografiche. L'API Map Tiles ti consente di accedere a più set di dati geografici tematici, tra cui quelli selezionati da Google:
Mosaici di immagini della mappa stradale basati su dati topografici vettoriali con stile cartografico di Google.
Ortofotografia acquisita sia da fotocamere aeree che satellitari che forniscono immagini dall'alto (nadir) della Terra.
Mappe con curve di livello con ombreggiatura delle colline.
I riquadri delle mappe 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 visualizzare il mondo nella sua interezza) a 22 (per visualizzare strade e isolati).
Temi delle mappe
Puoi ottenere riquadri mappa per i seguenti temi.
Tema della mappa | Descrizione |
---|---|
Roadmap | Strade, edifici, punti d'interesse e confini politici |
Satellite | Immagini fotografiche scattate dallo spazio |
Rilievo | Una mappa con i contorni che mostra elementi naturali come la vegetazione |
Per richiedere i tessere della mappa dall'API Map Tiles, devi prima richiedere un
token di sessione. Il token sessione monitora lo stato attuale della mappa e dell'area visibile. Quando configuri il token
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 della casella che incornicia la scena mondiale. Le richieste di informazioni sull'area visibile restituiscono i dettagli dei riquadri della mappa che compongono l'area visibile corrente. La ragione per cui richiedi informazioni sul viewport è assicurarti di evitare di richiedere immagini con livelli di zoom inesistenti.
Ad esempio, la maggior parte delle città ha immagini a livello di zoom 22, ma non l'oceano, poiché si finirebbe per visualizzare solo quadrati blu privi di caratteristiche.
La richiesta del viewport è una richiesta GET HTTPS nel seguente formato.
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), mentre 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 relative alle 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 seguente formato.
{
"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 mostrare sulla mappa quando mostri la mappa stradale e i riquadri satellitari. Per ulteriori informazioni, consulta i Criteri dell'API Map Tiles.
maxZoomRect
- Contiene un array di rettangoli di delimitazione che si sovrappongono al viewport 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 convertire le coppie di latitudine/longitudine in 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 e poi da un punto alle coordinate dei riquadri.
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
};
}