CP-060-06 FILTRO CQL vs En memoria

Introducido por teclado (antiguo: http://jsfiddle.net/sigcJunta/836zbqLp/)

by SIGC GUADALTEL

HTML

<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/printer/printer.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/printer/printer.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">
<button id="filtrar" onclick="filtrar();">
  Filtrar
</button>
<button id="filtrar" onclick="limpiar();">
  Limpiar filtro
</button>
<input id="chkCQL" type="checkbox" name="cql"> Transformar a CQL

<div id="map"></div>

CSS

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

JavaScript

let mapajs = M.map({
   container: "map",
   wmcfile: "callejero",
   controls: ["layerswitcher"]
 });

mapajs.addPlugin(new M.plugin.AttributeTable());


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

      mapajs.addLayers(centros);

 var lyProvincias = new M.layer.WFS({
   url: "http://geostematicos-sigc.juntadeandalucia.es/geoserver/tematicos/ows?",
   namespace: "tematicos",
   name: "Provincias",
   legend: "Provincias",
   geometry: 'MPOLYGON'
 });

 mapajs.addLayers(lyProvincias);

 

function filtrar() {
   let nProv = prompt("Introduzca el nombre de la provincia", "Sevilla");
   let filterEqual = M.filter.EQUAL("nombre", nProv);
   if($('#chkCQL')[0].checked){
   			lyProvincias.setCQL(filterEqual.toCQL());
   }else{
      	lyProvincias.setFilter(filterEqual);
   }
 }

 function limpiar() {
 		if($('#chkCQL')[0].checked){
   			lyProvincias.setCQL(null);
   }else{
      	lyProvincias.removeFilter();
   }
   
 }