2012-10-02 12 views
9

Ecco cosa ho difficoltà a fare: Visualizzare una mappa sulla pagina (mappa di Google o qualsiasi concorrente, gratis è possibile ...) ed evidenziare alcuni paesi su questa mappa (il l'elenco di questi paesi verrebbe memorizzato in una variabile per esempio).Visualizzare una mappa ed evidenziare alcuni paesi

Ho provato a disegnare poligoni sulla mappa con un elenco geografico di (quasi) tutti i paesi ma è troppo pesante.

Qualche idea?

risposta

18
+0

+1, informativo. –

+0

Il problema con loro è che non sono abbastanza specifici, voglio dire, ho bisogno di marcare una città o un quartiere sulla mappa. C'è qualche plugin/codice che lo fa? –

+0

http://www.dyngeometry.com/web/WorldRegion.aspx utilizza la versione dell'API di Google Maps _2_, che è stata a lungo deprecata. – Oliver

3

Se avete bisogno solo confini dei paesi con diversi colori si può provare jVectorMap.

10

È possibile creare poligoni molto complessi in Maps senza una riduzione delle prestazioni se li si memorizza nel formato file KML e li si carica come KmlLayers. KML è un formato di file vettoriale basato su XML per i dati geografici. La bellezza dell'utilizzo di file KML in Google Maps è che sono resi su server Google in semplici file PNG, corrispondenti alla risoluzione corrente e al riquadro di delimitazione della visualizzazione di Maps in qualsiasi momento, indipendentemente dalla complessità dei dati poligonali originali. Quindi tutta la complessità è gestita lato server su Google.

Ecco uno sample of a project, in cui ho utilizzato una maschera KML per uno degli stati federali della Germania.

Per una rapida revisione, i file KML possono anche essere caricati direttamente nel sito Web pubblico di Google Maps (inserendo l'URL nel campo di ricerca). Ecco il file KML che ho utilizzato nel progetto precedente, loaded directly into Google Maps. (In realtà ho utilizzato un file KMZ, ma è semplicemente un file KML contenuto in un archivio ZIP. Puoi comprimere e decomprimere con normali strumenti ZIP.) [UPDATE: questo non funziona più nella nuova versione di Maps (iniziato nel 2014).

Si prega di notare che Google implica un limite per le dimensioni dei file KML/KMZ (attualmente 10 Mb non compressi, 3 Mb compressi - details see here). Se i file KML devono essere di grandi dimensioni, è disponibile un software per ridurre la complessità (vedere gli esempi here e here).

Si prega di notare che i file KML sono solo una soluzione se i poligoni sono statici (come i confini di paesi o città) e non generati al volo (ad esempio in base a qualsiasi input dell'utente). Per i poligoni dinamici dovrai comunque utilizzare la classe Polygon dell'API di Maps con le limitazioni di complessità che hai menzionato. (Ma sei ancora libero di usare i layer KML e accenderli e spegnerli a seconda dell'input dell'utente, purché i dettagli del poligono non debbano cambiare.)

Problemi correlati