CP-070-06 - Panel StylePolygon - JSFiddle - JSFiddle

Panel test polygon

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'>
    <tr>
   ...

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-06 - Panel StylePolygon
// Caso de prueba orientado a verificar las caracterísitcas de estilo de polígono


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: "map",
  projection: "EPSG:4326*d",
  layers: ["OSM"],
  center: {
    x: -5.9584180843195425,
    y: 37.36912689160224
  },
  zoom: 5,
  controls: ['layerswitcher', 'overviewmap'],
});


var polygons = new M.layer.WFS({
  name: "Municipios",
  url: "https://clientes.guadaltel.es/desarrollo/geossigc/wfs?",
  namespace: "mapea",
  name: "da_municipio_pol",
  legend: "Municipios - Plantilla Símbolo",
  getfeatureinfo: "plain",
  geometry: 'POLYGON',
  extract: true,
});
mapajs.addLayers([polygons]);
var nullStylePolygon = new M.style.Polygon({
  stroke: {
    color: 'red'
  }
});


polygons.setStyle(nullStylePolygon);

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

function set(element) {
  let style = polygons.getStyle();
  if (element.type == "checkbox") {
    style.set(element.id, element.checked);
  } else {
    style.set(element.id, element.value);
  }
}

function setArray(element) {
  let style = polygons.getStyle();
  let valueAux = element.value;
  if (valueAux.indexOf(",") > 0) {
    try {
      let first = parseInt(valueAux.split(",")[0].trim());
      let second = parseInt(valueAux.split(",")[1].trim());
      let arrayValue = [first, second];
      style.set(element.id, arrayValue);
    } catch (ex) {
      alert(element.id + " no valido");
    }
  } else {
    alert(element.id + " no valido");
  }
}