En esta entrada vamos a añadir una bonita leyenda en una mapa web realizado con Leaflet.
Una vez que ya sabes cómo crear un sencillo mapa con Leaflet , incorporar una capa en formato geoJSON e incluso añadir las capas de Google, ahora vamos a incluir una leyenda.
Hay muchas formas de incluir leyendas, esta que os proponemos es una de las más sencillas, ya que incorpora un control con una imagen estática. Pero si tenemos un estilo CSS o SLD creado en GeoServer es posible incluir esta leyenda extraída del estilo SLD. De esta manera si se modifica el estilo de la capa, la leyenda se actualizará también.
Esta es la parte de código que tenemos que incluir en nuestro script:
// Insertando una leyenda en el mapa var legend = L.control({position: 'bottomright'}); legend.onAdd = function (map) { var div = L.DomUtil.create('div', 'info legend'); div.innerHTML += '<img alt="legend" src=" leyenda.png " width="127" height="120" />'; }; legend.addTo(map);
Ahora damos un paso más: en lugar de apuntar a un archivo PNG estático, podemos utilizar la respuesta del servicio de GeoServer GetLegendGraphic, que puede devolver la leyenda de una capa dada como un archivo PNG, por ejemplo:
http://localhost:8080/geoserver/wms?REQUEST=GetLegendGraphic&VERSION=1.0.0&FORMAT=image/png&WIDTH=20&HEIGHT=20&LAYER=usa:states
Si introduces esta url en el navegador aparecerá la leyenda
Con lo que el código final quedaría así:
// Insertando una leyenda en el mapa var legend = L.control({position: 'bottomright'}); legend.onAdd = function (map) { var div = L.DomUtil.create('div', 'info legend'); div.innerHTML += '<img alt="legend" src=" http://localhost:8080/geoserver/wms?REQUEST=GetLegendGraphic&VERSION=1.0.0&FORMAT=image/png&WIDTH=20&HEIGHT=20&LAYER=usa:states" width="127" height="120" />'; }; legend.addTo(map);
Por último, si se desea se puede modificar el estilo de nuestra leyenda mediante CSS:
.legend { opacity: 0.7; }
Este es el resultado:
Si te ha gustado esta entrada compártela!
Licenciado en Geografía. Máster en Sistemas de Información Geográfica. Consultor GIS desde el año 2004. En MappingGIS desde el año 2012 para ayudarte a impulsar tu perfil GIS y diferenciarte de la competencia. Echa un vistazo a todos nuestros cursos de SIG online.