CP-060-05 FILTRO CQL

Filtro CQL introducido por teclado (antiguo: http://jsfiddle.net/sigcJunta/1pfbt8y9/)

by SIGC

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="btnCQL" onclick="setCQL();">
  Establecer CQL
</button>
<div id="map"></div>

CSS

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

JavaScript

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

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

mapajs.addPlugin(new M.plugin.Printer({
  "params": {
    "pages": {
      "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"
  }
}));


var layer = new M.layer.WFS({
  url: "https://www.juntadeandalucia.es/institutodeestadisticaycartografia/geoserver-ieca/grid/wfs?",
  namespace: "grid",
  name: "gridp_250",
  legend: "Grid",
  geometry: 'MPOLYGON',
  version: '2.0',
  cql: "cmun LIKE '%18005%'"
});

mapajs.addWFS(layer);

layer.setStyle(new M.style.Polygon({
  fill: {
    color: 'blue',
    opacity: 0.3
  },
  stroke: {
    color: 'white',
    width: 2
  }
}));


layer.on(M.evt.LOAD, function() {
  mapajs.setBbox(layer.getFeaturesExtent());
  console.log("Extent actualizado");
  console.log(getFeaturesExtent());
});

function setCQL() {
  let cql = prompt("Introduzca filtro CQL", "cmun LIKE '%18005%'");
  layer.setCQL(cql);
}