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);

	}