Desarrollo web
Google Heat Maps: Añada color en sus mapas de Google
Hacía tiempo que venía observando webs 2.0 ( pejm:
http://www.trulia.com/home_prices/ ) que utilizaban Heat Maps para mostrar de una manera muy sencilla y clara información geográfica. Cuando revisé el Api de Google para ver cómo se podía conseguir este efecto, me llamó la atención que no estaba soportado de manera nativa y que era necesario realizarlo de una manera más o menos artesanal.
El código
En la
siguiente página he preparado un ejemplo donde he destacado algunos países europeos con colores elegidos al azar.
Cómo se crea una silueta
Para mostrar líneas y polígonos en los mapas se utiliza
VML (Vector Markup Language), recuerde incluir el VML namespace al comienzo de su documento:
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml">
La clase
GPolygon del API de Google Maps ofrece funciones para dibujar polígonos en el mapa.
Para nuestro ejemplo he creado la función
createPolygon que permite dibujar una silueta vectorial en el mapa pasando tres parámetos:
- pts_map: Codificación de las coordenadas de los puntos que conforman el polígono.
- lvls_map: Codificación de los niveles que conforman el polígono.
- num: Valor entre 1 y 6, cada valor tiene un color para la silueta.
Cómo obtener los valores de la silueta
A fecha de hoy no conozco ninguna herramienta que permita obtener de manera automática estos valores por lo que es necesario recurrir a un método un tanto artesanal:
- Acceda a la sección Mis Mapas en http://maps.google.es/ y haga click en la opción Crear un mapa nuevo.
- Ahora viene el trabajo más tedioso, en la zona superior del mapa encontrará un icono para dibujar formas, selecciónelo y comience a pintar los puntos que delimitan la región sobre la que quiere trabajar. Recuerde que cuanto mayor sea el zoom, mejor será la calidad del Heat Map.
- Cuando haya terminado haga doble click y elija un nombre para guardar el polígono.
- En la esquina superior derecha encontrará la opción Enlazar a esta página, copie esta url en su navegador.
- En la nueva página, busque dentro del código HTML el nombre que le dio a su polígono hasta encontrar una cadena similar a esta:
name:"Forma 1",description:"",polylines:[{id:"0",points:"ol|oFxbaS~df@h`]rqNmfg@qxp@o_d@a~Cren@",levels:"BBBBB"
- Por tanto la codificación de las coordenadas de nuestro polígono sería: [{id:"0",points:"ol|oFxbaS~df@h`]rqNmfg@qxp@o_d@a~Cren@ y la codificación de los niveles: BBBBB
- El código javascript correspondiente sería:
createPolygon("ol|oFxbaS~df@h`]rqNmfg@qxp@o_d@a~Cren@","BBBBB",5)
Algunas observaciones
Debe tener en cuenta que los Heat Maps consumen bastante resursos de su sistema, un mapa con muchos polígonos o con formas muy complejas pueden sobrecargar el navagador y hacer la página inmanejable.
Puede personalizar el estilo de sus Heats Maps con algunos parámetros como el color, la opacidad, el borde, el relleno, etc. Para ello utilice la función
fromEncoded(color?, weight?, opacity?, points, zoomFactor, levels, numLevels)
Puede
descargarse el código de ejemplo y utilizarlo líbremente en sus aplicaciones.
Por último recuerde que para poder utilizar el API de Google Maps en sus aplicaciones es necesario que solicite su Key en la sección
sign up for an API key.
Enviar a un amigo
Artículos relacionados:
- Real Ajax Sexy Curls: Una forma elegante de mostrar el código fuente de nuestra página
- Ajax zoomy: Un Ajax lightbox para su galería de imágenes
- Un emulador de ZX Spectrum en Javascript
- Ajax Lightbox: Una ventana emergente 2.0 en su página web
- Cómo enviar información, datos o parámetros con el método POST sin utilizar formulario
Si te ha gustado este artículo y te ha sido de utilidad, Haz una Donación y colobora en el mantenimiento de esta blog.
Cada artículo está escrito con esfuerzo y dedicación, ayúdame a seguir ayudándote.
Muy interesante tu articulo, gracias
Muy interesante tu nota
muy bueno
malo super malo
Me parece bien, es otra forma de aplicar color al mapa , saludos amigo, y sigue adelante
Me parece bien, es otra forma de aplicar color al mapa , saludos amigo, y sigue adelante
me gusta
estoy muy interazado en optener imagenes satelitales .. con fines pesqueros .. esta muy interezante
Me interesan muchisimo tus articulos, pero este en particular no lo entendi.
Para que me sirve un mapa con colores? disculpame la ignorancia.
Me interesaria tambien poder obtener asesoramientos de desarrollo de posicionamientos.
saludos
Hola, un mapa de color puede servirte para localizar geográficamente una información, por ejemplo, en mi empresa lo hemos utilizado en alguna ocasión para mostrar en qué países del mundo hay más ordenadores infectados por virus.