CP-070-08 - Panel StyleLine

Panel de text para lineas

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 class="row">
      <table id='tableStyle'>
       ...

CSS

<style rel="stylesheet">
      html,


      body {
        margin: 0;
        padding: 0;
        height: 100%;
        overflow: auto;
      }

      #tableStyle {
        font-family: arial, sans-serif;
        border-collapse: collapse;
        width: 100%;
      }

      table#tableStyle td {
        border: 1px solid #dddddd;
        text-align: left;
        padding: 8px;
      }

      table#tableStyle th {
        border: 1px solid #dddddd;
        text-align: left;
        padding: 8px;
      }

      table#tableStyle tr:nth-child(even) {
        background-color: #dddddd;
      }

      input-group {
        margin: 20%;
      }

      .display-hidden {
        display: none;
      }

      .input-group {
        margin-bottom: 1em;
      }
    </style>

JavaScript

// CP-070-08 - Panel StyleLine
// Caso de prueba orientado a verificar las caracterísitcas de estilo de líneas

function ocultarTable(elementToManage) {
  let element = document.getElementById(elementToManage + "-td");
  if (element.classList.contains("display-hidden")) {
    element.classList.remove("display-hidden")
  }
  else {
    element.classList.add("display-hidden")
  }
}
let mapajs = M.map({
  container: "mapjs",
  projection: "EPSG:4326*d",
  layers: ["OSM"],
  center: {
    x: -5.9584180843195425,
    y: 37.36912689160224
  },
  zoom: 5,
  controls: ['layerswitcher', 'overviewmap'],
});

var polylines = 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([polylines]);
var nullStyleLine = new M.style.Line({
  stroke: {
    color: '#C8FE2E'
  }
});

polylines.setStyle(nullStyleLine);

// Setea estilo a nivel de capa
function setStyleLayer(layer, style) {
  layer.setStyle(style);
}

//Setea estilo a nivel de feature
function setStyleFeature(feature, style) {
  feature.setStyle(style);
}


var amarillo = new M.style.Line({
  fill: {
    color: 'yellow',
    width: 15
  },
  stroke: {
    color: 'black',
    width: 2
  },
  label: {
    text: "feature",
    font: "24px Arial",
    fill: new ol.style.Fill({
      color: "red"
    }),
    stroke: new ol.style.Stroke({
      color: "#fff",
      width: 3
    }),
    textBaseline: 'middle',
    textAlign: "right",
    rotateWithView: false,
    textOverflow: "ellipsis",
    minWidth: 60,
    path: true

  }
});

polylines.setStyle(amarillo);

function set(element) {
  let style = polylines.getStyle();
  if (element.type == "checkbox") {

    style.set(element.id, element.value);
  }
  else {
    let r = element.value;
    if (element.value == "true") {
      r = true;
    }
    if (element.value ==...