CP-050-02 - FILTROS ALFANUMERICOS - CONSOLA
Devolver features filtradas, extent features filtradas, devolver por id, eliminar features, eliminar features filtradas, eliminar una o mas features NOTA: Revisar salidas por CONSOLA (antiguo: https://codepen.io/sigc_gdtel/pen/xdWgyw)
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 type="button" onclick="setFilterId()">Aplicar Filtro</button>
<button type="button" onclick="getFirstFeature()">Primer Feature</button>
<button type="button" onclick="getAllFeatures()">Todos los features</button>
<button type="button" onclick="getFilteredFeatures()">Features filtrados</button>
<button type="button" onclick="getFeatureById('prueba_pol_wfst.2278')">Obtener Feature por id</button>
<button type="button" onclick="getAllFeaturesExtent()">Todos los extent features</button>
<button type="button" onclick="getFilteredFeaturesExtent()">Features Extent filtrados</button>
<button type="button" onclick="removeFeature()">Eliminar Feature</button><button type="button" onclick="refreshLayer()">Reniciar capa de features</button>
<button type="button" onclick="removeAllFeatures()">Eliminar todos los features</button><button type="button" onclick="getFilter()">Obtener filtros</button>
<button type="button" onclick="removeFilter()">Quitar filtros</button>
<div id="map" class="container"></div>
CSS
<style rel="stylesheet">html,
body {
margin: 0;
padding: 0;
height: 100%;
overflow: hidden;
}
JavaScript
// CP-050-02 - FILTROS ALFANUMERICOS - CONSOLA
// http://jsfiddle.net/sigcJunta/v80gag3h/ con entrega 4.1 del 26/06
// Prueba orientada a verificar resultado de filtro alfanumérico.
// Creamos una capa WFS con la url de features poligonales
var layer = new M.layer.WFS({
url: "http://clientes.guadaltel.es/desarrollo/geossigc/callejero/wms?",
namespace: "callejero",
name: "prueba_pol_wfst"
});
// Instanciamos el mapa
mapajs = M.map({
container: "map",
controls: ["layerswitcher"],
});
mapajs.addPlugin(new M.plugin.AttributeTable({
"pages": "10"
}));
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"
}
}));
layer.setStyle(new M.style.Polygon({
stroke: {
color: 'red',
width: 2
},
fill: {
color: 'blue',
opacity: 0.2
}
}));
// Añadimos las capas al mapa
mapajs.addLayers([layer]);
/*devuelve los features de la capa
parametro true - obtiene todos los features
parametro false - obtiene solo los features filtrados
*/
//sin parametro - por defecto es false
// console.log(layer.getFeatures());
function getAllFeatures() {
console.log(layer.getFeatures(true));
}
function getFilteredFeatures() {
console.log(layer.getFeatures(false));
}
//devuelve un feature de la capa por su id
function getFeatureById(id) {
console.log(layer.getFeatureById(id));
}
//añade o sustituye el filtro de la capa
function setFilterId() {
let filtro = new M.filter.Function(function(feature) {
return feature.getId() === "prueba_pol_wfst.2207";
});
layer.setFilter(filtro);
}
function getFirstFeature() {
console.log(layer.getFeatures()[0]);
}
//elimina uno o varios features de la capa
function removeFeature() {
...