2010-07-11 12 views
26

Necesito mostrar solo un país en el mapa de google. Necesito mostrar solo un país y las partes de otros países no deberían estar allí. Por ejemplo, si quiero mostrar U.K. debería mostrar solo el Reino Unido y el mar, no debería haber partes de otros países visibles.¿Hay alguna manera de mostrar un solo país en el mapa de Google? Debe ser solo un país, no partes de otros países incluidos

¿Existe una llamada a la API de Google o algún otro método? No pude encontrar un método que reemplazara el zoom y anulara los métodos que pueden navegar por la región (eventos de desplazamiento).

¿Alguien sabe un método para hacer esto?

Respuesta

10

Si desactiva todos los elementos del mapa y luego añadir una capa nueva (un solo país), a continuación, sólo un país es visible. Aquí es un jsFiddle https://jsfiddle.net/gvvy5vxz/2/

function initialize() { 
    var mapOptions = { 
    zoom: 5, 
    center: myLatlng, 
    mapTypeId: google.maps.MapTypeId.ROADMAP, 
    backgroundColor: '#FFF', 
    disableDefaultUI: true, 
    draggable: false, 
    scaleControl: false, 
    scrollwheel: false, 
    styles: [ 
    { 
    "featureType": "water", 
    "elementType": "geometry", 
    "stylers": [ 
     { "visibility": "off" } 
    ] 
    },{ 
    "featureType": "landscape", 
    "stylers": [ 
     { "visibility": "off" } 
    ] 
    },{ 
    "featureType": "road", 
    "stylers": [ 
     { "visibility": "off" } 
    ] 
    },{ 
    "featureType": "administrative", 
    "stylers": [ 
     { "visibility": "off" } 
    ] 
    },{ 
    "featureType": "poi", 
    "stylers": [ 
     { "visibility": "off" } 
    ] 
    },{ 
    "featureType": "administrative", 
    "stylers": [ 
     { "visibility": "off" } 
    ] 
    },{ 
    "elementType": "labels", 
    "stylers": [ 
     { "visibility": "off" } 
    ] 
    } 
    ] 
}; 
+0

Esta es una solución interesante, pero requiere un recurso independiente (en este caso se requiere una imagen de mapa del país que sólo desea mostrar). Además, esto no eliminó el agua. –

0

que estaba buscando lo mismo y terminó usando superposición de polígonos.

El código relevante está debajo del comentario "aquí está la magia".

Aleja todo el camino y verás el cuadrado blanco gigante. Este es el 0 ° índice de la matriz en el archivo json (vinculado en map.data.loadGeoJson) "[[-147, 2], [-150, 70], [-20, 68], [-31, 5] , [-147, 2]] ", el siguiente índice es los puntos de coordenadas fronterizas de la región en la que está interesado.

Busque" kml {país/ciudad/estado/región nombre} "en google y usted Probablemente encontrará todos esos datos con los puntos del contorno de la frontera.

https://jsfiddle.net/jmao2o3o/3/

//here is the magic 
map.data.loadGeoJson('https://bitbucket.org/dimaboychev/public/raw/9bb53aba0d70875a6d2d9bd2a1eec65671ce4ae3/dc.json'); 
+0

Tenga en cuenta que para el cuadrado tiene 5 puntos, es porque tiene que conectarse al primer punto. "[[-147, 2], [-150, 70], [-20, 68], [-31, 5], [-147, 2]]". El último punto tiene que coincidir con el primero. –

+0

¿Estás diciendo que buscaste estos datos kml en google? usted no lo generó en alguna parte? Intentando hacer lo mismo pero solo mostrar California, no puede encontrar ningún buen recurso. Aprecie cualquier puntero. – RooWM

+0

Aquí puede encontrar el archivo de datos KML de borde de California, busque cageol.archivo kml en la página https://mrdata.usgs.gov/geology/state/state.php?state=CA –

Cuestiones relacionadas