CP-090-06 - V4_2_0_DESA_ASSDACIPS_DEMO01

Demo ASSDA-CIPS. Filtros tipología - clúster

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 id="PanelTipologia" class="closePanel panel">
    ...

CSS

html,
      body {
        margin: 0;
        padding: 0;
        height: 100%;
        overflow: scroll;
      }
      
      .m-popup{
position: fixed;
    bottom: inherit;
    left: initial;
    top: 0;
    right: 0;
    z-index: 9999;
      }
      
      .m-popup:before {
    border-top-color: initial;
    border-width: 0;
    left: inherit;
    margin-left: 0;
}

.m-popup:after, .m-popup:before {
    top: 0;
    border: inherit;
    content: " ";
    height: 0;
    width: 0;
    position: inherit;
    pointer-events: inherit;
}

.m-popup tr:nth-child(odd) {
    background-color: rgba(41, 105, 168, 0.78);
    color: white;
}

.tooltip {
  position: relative;
  padding: 3px;
  background: rgba(0, 0, 0, 0.9);
  color: white;
  opacity: 0.7;
  white-space: nowrap;
  font: 10pt sans-serif;
}

#categoria{
      background-color: rgba(55, 126, 235, 0.64);
    padding: 6px;
    border: 2px solid black;
}

  .panel {
        display: none;
        padding: 10px;
        background-color: #f6f6f6;
        width: 200px;
        cursor: pointer;
      }

      .closePanel {
        display: none;
      }

      .openPanel {
        display: block;
        position: fixed;
        bottom: inherit;
        left: initial;
        top: 0;
        right: 0;
        z-index: 9999;
        border: 6px solid #5e8fb7;
      }

JavaScript

// CP-090-06 - V4_2_0_DESA_ASSDACIPS_DEMO01

// 1. Probar aplicación de estilo Categorías
// 2. Verificar correcta aplicación del cluster 
// 3. Verificar que teniendo aplicado anchor, el árbol de elementos del cluster se ve correctamente
// 3.2. Verificar que la aplicación de offset [5,5] no afecta tampoco al árbol de elementos
// 4. Verificar correcta aplicación de filtros
// 5. Verificar correcta aplicación de leyenda - puede no aparecer si es versión sin leyenda de iconos
// 6. Verificar establecimiento de leyenda de forma externa con setlegendURL


function openPanel() {
        if (document.getElementById("PanelTipologia").className.indexOf("openPanel") >= 0) {
          document.getElementById("PanelTipologia").classList.remove("openPanel");
          document.getElementById("PanelTipologia").classList.add("closePanel");
        } else {
          document.getElementById("PanelTipologia").classList.add("openPanel");
          document.getElementById("PanelTipologia").classList.remove("closePanel");
        }
      }

var mapajs = M.map({
    'container': 'map',
    "controls": ["layerswitcher", "mouse", "scale", "overviewmap", "panzoombar", "scaleline", ],
    "getfeatureinfo": "plain"
});


var centros = new M.layer.WFS({
    name: "Centros ASSDA",
    url: "https://clientes.guadaltel.es/desarrollo/geossigc/wfs?",
    namespace: "mapea",
    name: "centrosassda",
    legend: "centrosassda",
    getfeatureinfo: "plain",
    geometry: 'POINT',
    extract: true,
});



centros.on(M.evt.SELECT_FEATURES, function(features) {
  // features.forEach(function(feature) {
  //logFeature(feature);
  if (features.length > 1) {
    console.log('Es un cluster');
  }
  else {
    var fs = null;
    var featureTabOpts = null;
    feature = features[0];
    console.log(feature);
    // Creamos el html de la pestaña
    fs = "<table width='500'>";
    var keys = Object.keys(feature.getGeoJSON().properties);
    keys.remove("ogc_fid");
    keys.remove("concierto");
   ...