2011-12-29 10 views
26

Ho una domanda generale su Google Maps. Voglio utilizzare Google Maps solo per la Germania, ma ovviamente vengono mostrati anche i paesi vicini. Il confine della Germania è raramente visibile.Evidenzia interi paesi in Google Maps

C'è una possibilità di svanire gli altri paesi non utilizzati?

+1

Qualcuno aveva una domanda simile (http://stackoverflow.com/questions/2956355/highlight-polygon-and-tint-rest-of-map-using-google-maps/2958856#2958856) un po 'indietro . Se hai le coordinate per il bordo, puoi invertire un poligono usando il metodo nella mia risposta a quella domanda. Se non hai le coordinate per il confine, puoi probabilmente trovarle da qualche parte sul web, oppure disegnare il bordo tu stesso usando google maps "I miei luoghi" e ottenere le coordinate. – Mark

risposta

42

Sono stato in grado di farlo utilizzando la tabella Fusion World Country Boundaries.kml.

È necessario aggiungerlo come Fusion Table Layer alla mappa.


In primo luogo inizializzare una mappa ingrandita fuori a destra, fuori, centrato in modo che possiamo vedere la maggior parte dei paesi:

var map = new google.maps.Map(document.getElementById('map-canvas'), { 
    center: new google.maps.LatLng(30,0), 
    zoom: 2, 
    mapTypeId: google.maps.MapTypeId.ROADMAP 
}); 

Avanti aggiungere il FusionTablesLayer:

var world_geometry = new google.maps.FusionTablesLayer({ 
    query: { 
    select: 'geometry', 
    from: '1N2LBk4JHwWpOY4d9fobIn27lfnZ5MDy-NoqqRpk' 
    }, 
    map: map, 
    suppressInfoWindows: true 
}); 

che assomiglia a questo:

all countries


Per quanto riguarda:

C'è la possibilità di fade out dei paesi altri, non utilizzati?

Se si guarda al the Fusion Table vedrete ci sono colonne per Name e ISO_2DIGIT. Possiamo filtrare su questi passando una condizione where allo FusionTablesLayer, e.g:

query: { 
    select: 'geometry', 
    from: '1N2LBk4JHwWpOY4d9fobIn27lfnZ5MDy-NoqqRpk', 
    where: "ISO_2DIGIT IN ('US', 'GB', 'DE')" 
    }, 

Per dare:

filter countries with where

+2

Anche se si cambia il colore, questo è piuttosto brutto. Soprattutto quando lo strato supera i nomi dei paesi. –

+1

Hai fatto un punto valido, ho creato un [problema qui] (https://code.google.com/p/fusion-tables/issues/detail?id=1308). – dukedave

+0

È possibile scegliere il colore di evidenziazione? –

0

Se si desidera solo una mappa della Germania perché non utilizzare questo:

http://jvectormap.com/maps/countries/germany/

Germania è già disponibile

+0

Ho bisogno di tutti i dettagli che contengono in Google Maps. – Armin

+0

puoi per favore elaborare quale è il tuo esatto requisito. Indubbiamente google maps è sempre la risposta, mi sto solo chiedendo se il tuo problema può essere risolto con un'altra soluzione di tipo di mappa – defau1t

+0

Ok, ho codificato una soluzione di mappa vettoriale per un cliente, che calcola la posizione dei punti per long e lat e crea cluster (http://goo.gl/LvfFN - la mappa sul lato sinistro). Il cliente desidera inoltre un impianto di gmaps. Vuoi chiedergli perché? Suppongo che questo non faccia parte della mia domanda iniziale! – Armin

1

Attualmente (API versione 3) non sembra esistere alcuna possibilità di aumentare border- spessore per singoli paesi.

2

vecchia questione, ma: di Google deprecato MAP API si presenta come una soluzione migliore, se non è necessario la mappa per essere trascinabili:

https://developers.google.com/chart/image/docs/gallery/new_map_charts

Esempio: https://chart.googleapis.com/chart?cht=map:fixed=-60,0,80,-35&chs=600x350&chld=CA-BC|CN|IT|GR|US-UT&chdl=Vancouver|Beijing|Torino|Athens|Salt+Lake+City&chco=B3BCC0|5781AE|FF0000|FFC726|885E80|518274&chtt=Last+Five+Olympic+Hosts&chm=f2010+Winter,000000,0,0,10|f2008+Summer,000000,0,1,10|f2008+Winter,000000,0,2,10,1,:-5:10|f2004+Summer,000000,0,3,10|f2004+Summer,000000,0,4,10

enter image description here

questa API continuerà a lavorare a affinchè non fino ad aprile 2015: https://developers.google.com/chart/terms

Importante: La parte Charts Immagine di Google Strumenti grafico è stato ufficialmente deprecata a partire dal 20 aprile 2012. E ' continuerà a funzionare come da nostra politica di deprecazione.