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