CP-070-09_V4_2_0_DESA_Estilos sobre capa de líneas

Test estilo para capa de líneas

by SIGC GUADALTEL

HTML

<link rel="stylesheet" href="https://sigc.desarrollo.guadaltel.es/mapea42_dev/plugins/geosearchbylocation/geosearchbylocation.min.css">
<link rel="stylesheet" href="https://sigc.desarrollo.guadaltel.es/mapea42_dev/assets/css/mapea.ol.min.css">
<link rel="stylesheet" href="https://sigc.desarrollo.guadaltel.es/mapea42_dev/plugins/wfstcontrols/wfstcontrols.min.css">
<link rel="stylesheet" href="https://sigc.desarrollo.guadaltel.es/mapea42_dev/plugins/geosearch/geosearch.min.css">
<link rel="stylesheet" href="https://sigc.desarrollo.guadaltel.es/mapea42_dev/plugins/printer/printer.min.css">
<link rel="stylesheet" href="https://sigc.desarrollo.guadaltel.es/mapea42_dev/plugins/measurebar/measurebar.min.css">
<link rel="stylesheet" href="https://sigc.desarrollo.guadaltel.es/mapea42_dev/plugins/streetview/streetview.min.css">
<script src="https://sigc.desarrollo.guadaltel.es/mapea42_dev/vendor/browser-polyfill.js"></script>
<script src="https://sigc.desarrollo.guadaltel.es/mapea42_dev/js/mapea.ol.min.js"></script>
<script src="https://sigc.desarrollo.guadaltel.es/mapea42_dev/js/configuration.js"></script>
<script src="https://sigc.desarrollo.guadaltel.es/mapea42_dev/plugins/geosearchbylocation/geosearchbylocation.ol.min.js"></script>
<script src="https://sigc.desarrollo.guadaltel.es/mapea42_dev/plugins/wfstcontrols/wfstcontrols.ol.min.js"></script>
<script src="https://sigc.desarrollo.guadaltel.es/mapea42_dev/plugins/geosearch/geosearch.ol.min.js"></script>
<script src="https://sigc.desarrollo.guadaltel.es/mapea42_dev/plugins/printer/printer.ol.min.js"></script>
<script src="https://sigc.desarrollo.guadaltel.es/mapea42_dev/plugins/measurebar/measurebar.ol.min.js"></script>
<script src="https://sigc.desarrollo.guadaltel.es/mapea42_dev/plugins/attributetable/attributetable.ol.min.js"></script>
<link rel="stylesheet" href="https://sigc.desarrollo.guadaltel.es/mapea42_dev/plugins/attributetable/attributetable.min.css">
<div>
  <p>Estilos a nivel de capa:</p>
  <div>
   ...

CSS

<style rel="stylesheet">
      html,
      body {
        margin: 0;
        padding: 0;
        height: 100%;
        overflow: hidden;
      }

JavaScript

// constructor del mapa
let mapajs = M.map({
  container: "map",
  projection: "EPSG:4326*d",
  layers: ["OSM"],
  center: {
    x: -5.9584180843195425,
    y: 37.36912689160224
  },
  zoom: 5,
  controls: ['layerswitcher', 'overviewmap'],
});


mapajs.addPlugin(new M.plugin.Printer({
  "params": {
    "pages": {
      "infoSRS": "x",
      "clientLogo": "http://www.juntadeandalucia.es/economiayhacienda/images/plantilla/logo_cabecera.gif",
      "creditos": "Impresión generada a través de Mapea"
    },
    "layout": {
      "outputFilename": "mapea_${yyyy-MM-dd_hhmmss}"
    }
  }
}, {
  "options": {
    "legend": "true"
  }
}));

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 - COROPLETAS",
	 getfeatureinfo:"plain",
   geometry: 'LINE',
	 extract: true,
      });
mapajs.addLayers([lines]);

let line = null;
//Seleccionamos una linea que esté en el centro de Andalucía para localizarlo mejor (Río de Cabra)
lines.on(M.evt.LOAD, function() {
 line = M.filter.EQUAL("cod_rio","29").execute(lines.getFeatures())[0]
 })

// Estilos nulos
let nullStyleLine = new M.style.Line({});

// Estilos solo color
let colorStyleLine = new M.style.Line({
  stroke: {
    color: 'red'
  }
});

//=============================================================================
// Ejemplos variados de linea

// EJEMPLO CON STROKE
let styleLine = new M.style.Line({
  stroke: {
    color: '#C8FE2E',
    width: 15,
    linedash: [1, 20],
    linedashoffset: 60,
    linecap: 'square',
    linejoin: 'miter',
    miterlimit: 15
  }
});

// EJEMPLO CON STROKE + FILL
let styleLine2 = new M.style.Line({
  stroke: {
    color: '#C8FE2E',
    width: 50,
    linedash: [1, 20],
    linedashoffset: 60,
    linecap: 'square',
    linejoin: 'miter',
    miterlimit: 15
  },
  fill: {
    color: 'blue',
    opacity: 0.7,
    width: 15
  }
});



// EJEMPLO TEXT
let...