2011-12-29 14 views
26

Tengo una pregunta general sobre Google Maps. Quiero utilizar Google Maps solo para Alemania, pero, por supuesto, también se muestran los países vecinos. El borde de Alemania es raramente visible.Destacar países enteros en Google Maps

¿Existe la posibilidad de que desaparezca el resto de países no utilizados?

+1

Alguien tenía una pregunta similar (http://stackoverflow.com/questions/2956355/highlight-polygon-and-tint-rest-of-map-using-google-maps/2958856#2958856) hace un tiempo . Si tiene las coordenadas para el borde, puede invertir un polígono usando el método en mi respuesta a esa pregunta. Si no tiene las coordenadas para el borde, probablemente pueda encontrarlas en algún lugar de la web, o dibujar el borde usted mismo usando google maps "Mis lugares" y obtener las coordenadas. – Mark

Respuesta

42

Pude hacer esto usando el público World Country Boundaries.kml Fusion Table.

Lo necesitará agregar como Fusion Table Layer a su mapa.


En primer lugar inicializar un mapa está reducida a la derecha, centrado para que podamos ver la mayoría de los países:

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

A continuación añadir el FusionTablesLayer:

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

que tiene este aspecto:

all countries


Con respecto a:

¿Existe una posibilidad a desaparecer los países al otro, que no se utilizan?

Si nos fijamos en the Fusion Table verá que hay columnas para Name y ISO_2DIGIT. Podemos filtrarlos pasando una condición where al FusionTablesLayer, e.g:

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

para dar:

filter countries with where

+2

Incluso si cambia el color, esto es bastante feo. Especialmente cuando la capa pasa por encima de los nombres de los países. –

+1

Haces un punto válido, he creado un [problema aquí] (https://code.google.com/p/fusion-tables/issues/detail?id=1308). – dukedave

+0

¿Es posible elegir el color de resaltado? –

0

Si lo que desea es un mapa de Alemania por qué no utilizar esto:

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

Alemania ya está disponible

+0

Necesito todos los detalles que están conteniendo en Google Maps. – Armin

+0

puede por favor elaborar cuál es su requisito exacto. Sin duda, google maps es siempre la respuesta, solo me pregunto si tu problema puede resolverse con otra solución de tipo de mapa – defau1t

+0

Bien, he codificado una solución de mapa basada en vectores para un cliente, que calcula la posición de los puntos por long y lat y crea clusters (http://goo.gl/LvfFN - el mapa en el lado izquierdo). El cliente también quiere una implementación de gmaps. ¿Quieres preguntarle por qué? ¡Supongo que esto no es parte de mi pregunta inicial! – Armin

1

Actualmente (API versión 3), parece existir ninguna posibilidad de aumentar la frontera- espesor para países individuales.

2

vieja pregunta, pero: desaprobado Mapa Gráficas API de Google se parece a una mejor solución, si es que no es necesario el mapa que se pueda arrastrar:

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

Ejemplo: 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

Esta API seguirá trabajando en a fin hasta abril de 2015: https://developers.google.com/chart/terms

Importante: La parte Gráficos de imagen de Google Chart Tools ha sido oficialmente obsoleta de 20 de abril de 2012. Se continuará funcionando según nuestra política de desactivación.