2012-10-02 60 views
9

Esto es lo que estoy luchando para hacer: Mostrar un mapa en la página (mapa de Google o cualquiera de sus competidores, gratis es posible ...) y resaltar ciertos países en este mapa (el la lista de estos países se almacenaría en una variable por ejemplo).Mostrar un mapa y destacar ciertos países

Intenté dibujar polígonos en el mapa con una lista geo-json de (casi) todos los países, pero es demasiado pesado.

¿Alguna idea?

Respuesta

18
+0

+1, Informativo. –

+0

El problema con ellos es que no son lo suficientemente específicos, es decir, tengo que marcar una ciudad o un barrio en el mapa. ¿Hay algún complemento/código que haga eso? –

+0

http://www.dyngeometry.com/web/WorldRegion.aspx usa la versión _2_ de la API de Google Maps, que ha estado en desuso durante mucho tiempo. – Oliver

3

Si necesita sólo unos fronteras de los países con diferentes colores que puede probar jVectorMap.

10

Puede crear polígonos muy complejos en Maps sin perder rendimiento si los almacena en formato de archivo KML y los carga como KmlLayers. KML es un formato de archivo vectorial basado en XML para datos geográficos. La belleza de usar archivos KML en Google Maps es que se representan en servidores de Google en simples archivos PNG, que coinciden con la resolución actual y el cuadro delimitador de la vista de Maps en cualquier momento, sin importar cuán complejos sean los datos originales del polígono. Entonces, toda la complejidad se maneja desde el lado del servidor en Google.

Aquí está un sample of a project, donde he usado una máscara KML para uno de los estados federales de Alemania.

Para una revisión rápida, los archivos KML también se pueden cargar directamente en el sitio web público de Google Maps (ingresando su URL en el campo de búsqueda). Aquí está el archivo KML que he usado en el proyecto anterior, loaded directly into Google Maps. (De hecho, he usado un archivo KMZ aquí, pero es simplemente un archivo KML empaquetado en un archivo ZIP. Puede empaquetarlo y descomprimirlo con las herramientas ZIP normales). [ACTUALIZACIÓN: Esto ya no funciona en la nueva versión de Mapas (iniciado en 2014).]

Tenga en cuenta que Google implica un límite de tamaño para los archivos KML/KMZ (actualmente 10 Mb sin comprimir, 3 Mb comprimido - details see here). Si sus archivos KML deben ser demasiado grandes, hay un software disponible para reducir la complejidad (consulte los ejemplos here y here).

Tenga en cuenta que los archivos KML son solo una solución si sus polígonos son estáticos (como los bordes de países o ciudades) y no se generan sobre la marcha (por ejemplo, dependiendo de la entrada del usuario). Para los polígonos dinámicos, igual tendrá que usar la clase Polygon de la API de Maps con las restricciones de complejidad que ha mencionado. (Pero aún puede usar capas KML y activarlas y desactivarlas según la entrada del usuario, siempre que los detalles del polígono no tengan que cambiar.)

Cuestiones relacionadas