Panoramica
Una mappa geografica è una mappa di un paese, un continente o una mappa di una regione, con colori e valori assegnati a regioni specifiche. I valori vengono visualizzati come scala di colori e puoi specificare un testo di passaggio facoltativo per le regioni. La mappa viene visualizzata nel browser utilizzando un player Flash incorporato. Tieni presente che la mappa non è scorrevole o trascinabile, ma può essere configurata in modo da consentire lo zoom.
Esempi
Qui abbiamo due esempi: uno che utilizza lo stile di visualizzazione delle regioni e un altro che utilizza lo stile di visualizzazione degli indicatori.
Esempio per area geografica
Lo stile delle regioni riempie intere regioni (in genere paesi) con i colori corrispondenti ai valori che assegni. Specifica lo stile delle regioni assegnando options['dataMode']
= 'regions'
nel codice.
<html> <head> <script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script> <script type="text/javascript"> google.charts.load('current', { 'packages':['geomap'], // Note: you will need to get a mapsApiKey for your project. // See: https://developers.google.com/chart/interactive/docs/basic_load_libs#load-settings 'mapsApiKey': 'AIzaSyD-9tSrke72PouQMnMX-a7eZSW0jkFMBWY' }); google.charts.setOnLoadCallback(drawMap); function drawMap() { var data = google.visualization.arrayToDataTable([ ['Country', 'Popularity'], ['Germany', 200], ['United States', 300], ['Brazil', 400], ['Canada', 500], ['France', 600], ['RU', 700] ]); var options = {}; options['dataMode'] = 'regions'; var container = document.getElementById('regions_div'); var geomap = new google.visualization.GeoMap(container); geomap.draw(data, options); }; </script> </head> <body> <div id="regions_div" style="width: 900px; height: 500px;"></div> </body> </html>
Esempio di indicatori
Lo stile "indicatori" mostra un cerchio, una dimensione e un colore per indicare un valore, sopra le regioni specificate.
<html> <head> <script type='text/javascript' src='https://www.gstatic.com/charts/loader.js'></script> <script type='text/javascript'> google.charts.load('current', {'packages': ['geomap']}); google.charts.setOnLoadCallback(drawMap); function drawMap() { var data = google.visualization.arrayToDataTable([ ['City', 'Popularity'], ['New York', 200], ['Boston', 300], ['Miami', 400], ['Chicago', 500], ['Los Angeles', 600], ['Houston', 700] ]); var options = {}; options['region'] = 'US'; options['colors'] = [0xFF8747, 0xFFB581, 0xc06000]; //orange colors options['dataMode'] = 'markers'; var container = document.getElementById('map_canvas'); var geomap = new google.visualization.GeoMap(container); geomap.draw(data, options); }; </script> </head> <body> <div id='map_canvas'></div> </body> </html>
Caricamento
Il nome del pacchetto google.charts.load
è "geomap"
google.charts.load('current', {'packages': ['geomap']});
Il nome della classe di visualizzazione della mappa geografica è google.visualization.GeoMap
var visualization = new google.visualization.GeoMap(container);
Formato dei dati
Sono supportati due formati di indirizzo, ognuno dei quali supporta un numero diverso di colonne e tipi di dati diversi per ogni colonna. Tutti gli indirizzi nella tabella devono utilizzare uno dei due; non è possibile utilizzare una combinazione di tipi diversi.
- Formato 1: latitudine/longitudine. Questo formato funziona solo quando l'opzione
dataMode
è "indicatori". Se viene utilizzato questo formato, non è necessario includere il JavaScript di Google Maps. La località viene inserita in due colonne più due colonne facoltative:- [Numero, obbligatorio] Una latitudine. I numeri positivi sono quelli a nord, quelli negativi a sud.
- [Numero, obbligatorio] Una longitudine. I numeri positivi sono quelli a est, quelli a ovest.
- [Numero, facoltativo] Un valore numerico visualizzato quando l'utente passa il mouse sopra questa area geografica. Se viene utilizzata la colonna 4, questa è obbligatoria.
- [Stringa, facoltativo] Testo della stringa aggiuntivo visualizzato quando l'utente passa il mouse sopra questa area geografica.
- Formato 2: indirizzo, nome del paese, località del nome dell'area geografica o codici area metropolitana degli Stati Uniti. Questo formato funziona con l'opzione
dataMode
impostata su "Indicatori" o "Regioni". La località viene inserita in una colonna, oltre a due colonne facoltative:- [Stringa, obbligatoria] Una posizione sulla mappa. Sono accettati i seguenti formati:
- Un indirizzo specifico, ad esempio "Via Verdi 160".
- Il nome del paese come stringa (ad esempio, "Inghilterra") o come codice ISO-3166 maiuscolo o equivalente in testo inglese (ad esempio, "GB" o "Regno Unito").
- Il nome di un codice regione ISO-3166-2 in maiuscolo o il testo equivalente in inglese (ad esempio, "US-NJ" o "New Jersey"). Nota: le regioni possono essere specificate solo quando l'opzione dataMode è impostata su "regioni".
- Un prefisso metropolitano. Si tratta di codici area metropolitana di tre cifre utilizzati per designare diverse aree geografiche; sono supportati solo i codici degli Stati Uniti. Tieni presente che non corrispondono ai prefissi telefonici.
- [Numero, facoltativo] Un valore numerico visualizzato quando l'utente passa il mouse sopra questa area geografica. Se viene utilizzata la colonna 3, questa è obbligatoria.
- [Stringa, facoltativo] Testo della stringa aggiuntivo visualizzato quando l'utente passa il mouse sopra questa area geografica.
- [Stringa, obbligatoria] Una posizione sulla mappa. Sono accettati i seguenti formati:
Nota: una mappa può visualizzare al massimo 400 voci;
se la tua DataTable o DataView contiene più di 400 righe, verranno mostrate solo le prime
400. Le modalità più veloci sono dataMode='regions'
con località
specificate come codici ISO e dataMode='markers'
con entità
lat/long. La modalità più lenta è dataMode='markers'
con un indirizzo stringa.
Importante: la colonna DataTable
deve includere tutte le colonne facoltative che precedono qualsiasi colonna che vuoi utilizzare. Ad esempio, se vuoi specificare una tabella lat/long e vuoi utilizzare solo le colonne 1, 2 e 4, DataTable
deve comunque definire la colonna 3 (anche se non è necessario aggiungervi valori):
dataTable = new google.visualization.DataTable(); dataTable.addRows(1); dataTable.addColumn('number', 'LATITUDE', 'Latitude'); dataTable.addColumn('number', 'LONGITUDE', 'Longitude'); dataTable.addColumn('number', 'VALUE', 'Value'); // Won't use this column, but still must define it. dataTable.addColumn('string', 'HOVER', 'HoverText'); dataTable.setValue(0,0,47.00); dataTable.setValue(0,1,-122.00); dataTable.setValue(0,3,"Hello World!");
Opzioni di configurazione
Nome | Tipo | Predefinito | Descrizione |
---|---|---|---|
region |
string | "mondo" | L'area da visualizzare sulla mappa. Vengono visualizzate anche aree circostanti. Può essere un codice paese (in formato ISO-3166 maiuscolo) o una delle seguenti stringhe:
La mappa geografica non consente il comportamento di scorrimento o trascinamento e solo il comportamento di zoom limitato. Puoi ridurre
lo zoom di base impostando la proprietà |
dataMode |
string | "regioni" | Come visualizzare i valori sulla mappa. Sono supportati due valori:
|
width |
string | "556 px" | La larghezza della visualizzazione. Se non vengono fornite unità, l'unità predefinita è i pixel. |
height |
string | "347 px" | Altezza della visualizzazione. Se non vengono fornite unità, l'unità predefinita è i pixel. |
colors |
Array di numeri RGB nel formato 0xRRGGBB | [0xE0FFD4, 0xA5EF63, 0x50AA00, 0x267114] | Gradiente di colore da assegnare ai valori nella visualizzazione. Devi avere almeno due valori; il gradiente includerà tutti i tuoi valori, più i valori intermedi calcolati, con il colore più chiaro dal valore più piccolo e quello più scuro dal valore più alto. |
showLegend |
boolean | true | Se true, visualizza una legenda per la mappa. |
showZoomOut |
boolean | false | Se true, visualizza un pulsante con l'etichetta
specificata dalla proprietà zoomOutLabel . Tieni presente che questo pulsante non esegue alcuna azione quando viene fatto clic, ad eccezione dell'evento zoomOut .
Per gestire lo zoom, individua questo evento e modifica l'opzione region .
Puoi specificare showZoomOut solo se l'opzione region è più piccola della visualizzazione globale. Un modo per abilitare il comportamento dello zoom è
ascoltare l'evento regionClick , modificare
la proprietà region nella regione appropriata e ricaricare la mappa. |
zoomOutLabel |
string | Diminuisci lo zoom | Etichetta per il pulsante Zoom. |
Metodi
Metodo | Tipo restituito | Descrizione |
---|---|---|
draw(data, options) |
Nessuno | Disegna la mappa. L'elemento può tornare prima che il disegno sia completato (vedi l'evento drawingDone() ). |
getSelection() |
Array di elementi di selezione | Implementazione standard di getSelection() . Gli elementi selezionati sono righe. Questo metodo funziona solo quando l'opzione dataMode
è "regions". Puoi selezionare solo un'area geografica a cui è assegnato un valore. |
setSelection(selection) |
Nessuno | Implementazione setSelection() standard. Tratta una selezione come una selezione di riga e supporta più selezioni di righe. Puoi selezionare solo le regioni con valori assegnati. |
Eventi
Nome | Descrizione | Proprietà |
---|---|---|
error |
Attivato quando si verifica un errore durante il tentativo di rendering del grafico. | ID, messaggio |
select |
Attivato quando l'utente fa clic su una regione a cui è assegnato un valore. Per sapere cosa è stato selezionato, chiama il numero Nota: a causa di alcune limitazioni, l'evento |
Nessuno |
regionClick |
Richiamato quando viene fatto clic su un'area geografica. Funziona sia per "regioni" che per "indicatori" Nota: a causa di alcune limitazioni, l'evento |
Un oggetto con una singola proprietà, region , ovvero una stringa in formato ISO-3166 che descrive la regione selezionata. |
zoomOut |
Richiamato quando viene fatto clic sul pulsante per diminuire lo zoom. Per gestire lo zoom, individua questo evento e modifica l'opzione Nota: a causa di alcune limitazioni, l'evento |
Nessuno |
drawingDone |
Richiamato quando la mappa geografica ha finito di tracciare la mappa. | Nessuno |
Norme sui dati
Le località sono geocodificate da Google Maps. I dati che non richiedono la geocodifica non vengono inviati a nessun server. Per ulteriori informazioni sulle norme relative ai dati, consulta i Termini di servizio di Google Maps.
Note
A causa delle impostazioni di sicurezza di Flash, questa (e tutte le visualizzazioni basate su Flash) potrebbero non funzionare correttamente quando viene eseguito l'accesso da una posizione del file nel browser (ad esempio file:///c:/webhost/myhost/myviz.html) anziché da un URL del server web (ad es. http://www.myhost.com/myviz.html). In genere si tratta di un problema solo di test. Puoi risolvere questo problema come descritto sul sito web di Macromedia.