CP-071-02
Plantilla atributos LIN
by SIGC
HTML
<script src="https://sigc.desarrollo.guadaltel.es/mapea5/js/mapea.ol.min.js"></script>
<link rel="stylesheet" href="https://sigc.desarrollo.guadaltel.es/mapea5/assets/css/mapea.ol.min.css">
<script src="https://sigc.desarrollo.guadaltel.es/mapea5/js/configuration.js"></script>
<div id="map"></div>
<button onclick="setCategoriaStyle()">Aplicar estilo</button>
CSS
<style rel="stylesheet">
html,
body {
margin: 0;
padding: 0;
height: 100%;
overflow: hidden;
}
JavaScript
// Caso de pruebas
// 1.- Carga de capa WFS - Líneas - Ríos - estilo por defecto azul
// 2. Incorpora atributo color con valores "red"
// 3.- Botón Aplicar estilo muestra los estilos por atributo "color". Deben aparecer los features en rojo.
// El canvas de la capa no muestra leyenda porque no se dispone de estilo de color-.
var mapajs = M.map({
'container': 'map',
"controls": ["layerswitcher", "mouse", "scale", "overviewmap", "panzoombar", "scaleline",],
"getfeatureinfo": "plain"
});
// Asigna estilo en el constructor
let lines = new M.layer.WFS({
name: "Ríos",
url: "https://clientes.guadaltel.es/desarrollo/geossigc/wfs",
namespace: "mapea",
name: "mapb_hs1_100",
legend: "mapb_hs1_100",
getfeatureinfo:"plain",
geometry: 'LINE',
extract: true,
},
{
style: new M.style.Line({
stroke: {
color: 'blue',
with: 2
}
})
}
);
// Asigna estilo antes de cargar
lines.setStyle(
new M.style.Line({
stroke: {
color: 'blue',
with: 2
}
}));
lines.on(M.evt.LOAD, function() {
lines.getFeatures().forEach(function(line){
line.setAttribute('color', 'red')
})
});
let plantillaStyle = new M.style.Line({
stroke: {
color: '{{color}}',
}
});
mapajs.addLayers(lines);
mapajs.addPlugin(new M.plugin.AttributeTable());
function setCategoriaStyle(){
if (lines == null ) return;
lines.setStyle(plantillaStyle);
}