Utilizzare i token di sessione con l'API Map Tiles

Un token di sessione è un dato (un UUID) utilizzato nelle chiamate REST per identificare una sessione, una serie di scambi di messaggi correlati. Devi includere un token di sessione in tutte le richieste di riquadri 2D e immagini di Street View. Lo includi come valore di un parametro session aggiunto a tutti gli URL della richiesta.

Nell'API Map Tiles, un token di sessione rappresenta un insieme definito di opzioni di visualizzazione. Ciò significa che non devi trasferire un insieme di opzioni di visualizzazione con ogni richiesta di riquadro. Puoi utilizzare lo stesso token di sessione su più client. Attualmente, un token di sessione è valido per due settimane dal momento dell'emissione, ma questo dato potrebbe cambiare. Puoi sempre controllare la scadenza di un token di sessione osservando il campo expiry nel messaggio di risposta.

Richiesta di token di sessione

Per richiedere un token di sessione, invia una richiesta POST HTTPS all'endpoint createSession, come mostrato nell'esempio seguente. Devi inviare la richiesta con un'intestazione Content-Type: application/json.

curl -X POST -d '{
  "mapType": "streetview",
  "language": "en-US",
  "region": "US"
}' \
-H 'Content-Type: application/json' \
"https://tile.googleapis.com/v1/createSession?key=YOUR_API_KEY"

Campi obbligatori

mapType

Il tipo di mappa base. Questo valore può essere uno dei seguenti:

roadmap
I riquadri di mappe dipinte standard di Google Maps.
satellite
Immagini satellitari.
terrain
Immagini del terreno. Se selezioni terrain come tipo di mappa, devi includere anche il tipo di livello layerRoadmap (descritto nella sezione Campi facoltativi).
streetview
Panoramiche in Street View. Per ulteriori informazioni, consulta la sezione Riquadri di Street View.
language

Un tag lingua IETF che specifica la lingua utilizzata per visualizzare le informazioni nei riquadri. Ad esempio, en-US specifica la lingua inglese parlata negli Stati Uniti.

region

Un identificatore di regione del repository di dati locali comune (due lettere maiuscole) che rappresenta la località fisica dell'utente. Ad esempio, US.

Campi facoltativi

imageFormat
Specifica il formato del file da restituire. I valori validi sono jpeg o png. I file JPEG non supportano la trasparenza, pertanto non sono consigliati per i riquadri di overlay. Se non specifichi un valore imageFormat, viene scelto automaticamente il formato migliore per il riquadro.
scale

Consente di aumentare le dimensioni degli elementi della mappa (come le etichette delle strade), mantenendo le dimensioni dei riquadri e l'area di copertura del riquadro predefinito. Aumentando la scala riduci anche il numero di etichette sulla mappa, riducendo il disordine. I seguenti valori sono valori scale validi:

  • scaleFactor1x: l'impostazione predefinita.
  • scaleFactor2x: raddoppia le dimensioni delle etichette e rimuove le etichette delle caratteristiche minori.
  • scaleFactor4x: quadruplica le dimensioni delle etichette e rimuove le etichette delle caratteristiche minori.

I seguenti esempi mostrano l'effetto del ridimensionamento degli elementi della mappa.

Fattore di scala 1x Fattore di scala 2x
Mappa che mostra il fattore di scala 1x Mappa che mostra il fattore di scala 2x
highDpi
Specifica se restituire riquadri ad alta risoluzione. Se il fattore di scala viene aumentato, viene utilizzato highDpi per aumentare le dimensioni del riquadro. Normalmente, se aumenti il fattore di scala, il riquadro risultante viene ingrandito in un'immagine delle stesse dimensioni, riducendo la qualità. Con highDpi, anche le dimensioni risultanti aumentano, in modo da preservare la qualità. DPI è l'acronimo di Dots per Inch, mentre High DPI indica che il rendering del riquadro utilizza più punti per pollice rispetto al normale. Se true, il numero di pixel in ciascuna delle dimensioni x e y viene moltiplicato per il fattore di scala (ovvero 2x o 4x). L'area di copertura del riquadro rimane invariata. Questo parametro funziona solo con i valori scale pari a 2x o 4x. Non ha effetto sui riquadri scala 1x.
Fattore di scala 1x Fattore di scala 2x alto DPI
Mappa visualizzata a risoluzione normale Mappa visualizzata con risoluzione 2x High DPI
layerTypes

Un array di valori che specifica i tipi di livelli aggiunti alla mappa. I valori validi sono:

layerRoadmap
Obbligatorio se specifichi terrain come tipo di mappa. Facoltativamente, può essere sovrapposto al tipo di mappa satellite. Non ha effetto sui riquadri della roadmap.
layerStreetview
Mostra le strade e le località compatibili con Street View utilizzando i contorni blu sulla mappa.
layerTraffic
Mostra le condizioni attuali del traffico.
styles

Un array di oggetti di stile JSON che specificano l'aspetto e il livello di dettaglio di elementi della mappa come strade, parchi e aree urbane. Gli stili vengono utilizzati per personalizzare la mappa base di Google standard. Il parametro styles è valido solo se il tipo di mappa è roadmap. Per la sintassi completa degli stili, consulta la documentazione di riferimento sugli stili.

overlay

Un valore booleano che specifica se layerTypes deve essere visualizzato come overlay separato o combinato con le immagini di base. Quando true, la mappa base non viene visualizzata. Se non hai definito alcun valore layerTypes, questo valore viene ignorato.

Ad esempio, la richiesta di un tipo di mappa satellite con un livello layerRoadmap e overlay impostato su false genera riquadri equivalenti al tipo di mappa hybrid utilizzato nell'API Maps JavaScript (immagine a sinistra). Gli stessi tipi di mappe e livelli con il criterio overlay impostato su true generano un riquadro trasparente con un overlay mappa, con lo stile adeguato per la sovrapposizione sulle immagini satellitari (immagine a destra).

overlay: falso overlay: vero
Overlay impostato su false Overlay impostato su true

Il seguente JSON è un esempio di corpo di una richiesta tipica che contiene campi obbligatori e facoltativi.

{
  "mapType": "satellite",
  "language": "en-US",
  "region": "us",
  "layerTypes": [ "layerRoadmap", "layerStreetview" ],
  "overlay":  true,
  "scale": "scaleFactor1x",
  "styles": [
    {
      "stylers": [
        { "hue": "#00ffe6" },
        { "saturation": -20 }
      ]
    },{
      "featureType": "road",
      "elementType": "geometry",
      "stylers": [
        { "lightness": 100 },
        { "visibility": "simplified" }
      ]
    }
  ]
}

Questo esempio fornisce un overlay adatto all'uso combinato con le immagini satellitari. L'esempio contiene sia una mappa stradale che un overlay di Street View. La mappa risultante viene visualizzata con nomi e dati in lingua inglese, come è parlata negli Stati Uniti.

apiOptions: un array di valori che specifica opzioni aggiuntive da applicare. Le opzioni supportate sono:

  • MCYJ5E517XR2JC: attiva il nuovo stile della mappa. Durante il periodo di attivazione, alle tue richieste verrà assegnato lo stile esistente, a meno che questo valore non venga specificato.

Risposta del token di sessione

Il codice JSON seguente è un esempio di corpo della risposta.

{
  "session": "IgAAAHGU9jnAU4KOAfwY3Bcd6eH_WxQsyocSBAdUnAr9pnvTTNXtF9c_27RBo94ytEXTDg",
  "expiry": "1361828036",
  "tileWidth": 256,
  "tileHeight": 256,
  "imageFormat": "png"
}

Il seguente elenco contiene le definizioni dei campi nel corpo della risposta.

session
Un valore del token di sessione da includere in tutte le richieste dell'API Map Tiles.
expiry
Una stringa che contiene l'ora (in secondi dall'epoca) in cui scade il token. Un token di sessione è valido per due settimane dal momento della creazione, ma questo criterio potrebbe cambiare senza preavviso.
tileWidth
La larghezza dei riquadri misurata in pixel.
tileHeight
L'altezza dei riquadri misurata in pixel.
imageFormat
Il formato dell'immagine, che può essere png o jpeg.