[TEST] Cluster + Filtros centros
by Francisco
HTML
<script src="https://sigc.desarrollo.guadaltel.es/mapea/js/mapea.ol.min.js"></script>
<link rel="stylesheet" href="https://sigc.desarrollo.guadaltel.es/mapea/assets/css/mapea.ol.min.css">
<script src="https://mapea4-sigc.juntadeandalucia.es/js/configuration.js"></script>
<button onclick="aplicaFiltro()">
Aplicar filtro en memoria
</button>
<button onclick="limpiaFiltro()">
LImpiar filtro en memoria
</button>
<div id="map"></div>
CSS
html,
body {
margin: 0;
padding: 0;
height: 100%;
overflow: hidden;
}
JavaScript
var mapajs = M.map({
'container': 'map',
"controls": ["layerswitcher"]
});
var centros = new M.layer.WFS({
url: "https://ws243.juntadeandalucia.es/geoserver/cips_oracle/wfs?style=cipscentros_sld", // Geoserver 2.11
namespace: "cips_oracle",
name: "SSV_CENT_CENTROS",
legend: "Recursos de Servicios Sociales",
geometry: 'POINT',
Projection: 25830,
extract: true,
});
mapajs.addLayers(centros);
//Estilos para categorización
let primera = new M.style.Point({
icon: {
src: 'https://image.flaticon.com/icons/svg/34/34697.svg',
scale: 0.1
},
});
let segunda = new M.style.Point({
icon: {
src: 'https://image.flaticon.com/icons/svg/34/34651.svg',
scale: 0.1
},
});
let tercera = new M.style.Point({
icon: {
src: 'https://image.flaticon.com/icons/svg/34/34654.svg',
scale: 0.1
},
});
let categoryStyle = new M.style.Category("ID_SECTOR", {
"1": primera,
"2": segunda,
"3": tercera
});
//Estilo para cluster
let ClusterOptions = {
ranges: [{
min: 2,
max: 4,
style: new M.style.Point({
stroke: {
color: '#5789aa'
},
fill: {
color: '#99ccff',
},
radius: 20
})
}, {
min: 5,
max: 9,
style: new M.style.Point({
stroke: {
color: '#5789aa'
},
fill: {
color: '#3399ff',
},
radius: 30
})
}, {
min: 10,
max: 500,
style: new M.style.Point({
stroke: {
color: '#5789aa'
},
fill: {
color: '#004c99',
},
radius: 40
})
}],
animated: true,
hoverInteraction: true,
displayAmount: true,
distance: 80,
maxFeaturesToSelect: 7
};
...