[TEST] Mapea 5 - porportional
by SIGC GUADALTEL
HTML
<script src="https://sigc.desarrollo.guadaltel.es/mapea-hcsigc/js/mapea-5.1.0.ol.min.js"></script>
<link rel="stylesheet" href="https://sigc.desarrollo.guadaltel.es/mapea-hcsigc/assets/css/mapea-5.1.0.ol.min.css">
<script src="https://sigc.desarrollo.guadaltel.es/mapea-hcsigc/js/configuration-5.1.0.js"></script>
<script src="https://sigc.desarrollo.guadaltel.es/mapea-hcsigc/plugins/printer/printer-2.0.0.ol.min.js"></script>
<link rel="stylesheet" href="https://sigc.desarrollo.guadaltel.es/mapea-hcsigc/plugins/printer/printer-2.0.0.min.css">
<div> Población:
<select onchange="cambiaEdad(this.value)">
<option value="0_15_es">0-15 años</option>
<option value="16_45_es">16-45 años</option>
<option value="45_65_es">45-65 años</option>
<option value="65_es">+65 años</option>
</select>
</div>
<div id="map"></div>
CSS
html,
body,
#map {
padding: 0;
margin: 0;
width: 100%;
height: 100%;
}
JavaScript
// En el constructor
var mapajs = M.map({
container: "map",
controls: ["layerswitcher"],
wmcfiles: ["cdau"]
});
mapajs.addPlugin(new M.plugin.Printer({
"params": {
"layout": {
"outputFilename": "mapea_${yyyy-MM-dd_hhmmss}"
},
"pages": {
"clientLogo": "http://www.juntadeandalucia.es/economiayhacienda/images/plantilla/logo_cabecera.gif",
"creditos": "Impresión generada a través de Mapea"
}
}
}, {
"options": {
"legend": "true"
}
}));
// Con metodos
var layer = new M.layer.WFS({
url: "http://geostematicos-sigc.juntadeandalucia.es/geoserver/sepim/ows?",
namespace: "sepim",
name: "EstructuraJA",
legend: "Menores de 15 años por provincia",
geometry: 'MPOLYGON'
});
var provincias = new M.layer.WFS({
url: "http://geostematicos-sigc.juntadeandalucia.es/geoserver/tematicos/ows?",
namespace: "tematicos",
name: "Provincias",
legend: "Provincias",
geometry: 'MPOLYGON'
});
let estiloProvincias = new M.style.Polygon({
stroke: {
color: '#FF0000',
width: 1
}
});
//provincias.setStyle(estiloProvincias);
mapajs.addLayers([layer, provincias]);
let atributo = "0_15_es";
//definimos un estilo proporcional
let styleProp = new M.style.Proportional('id', 5, 15, new M.style.Point({
fill: {
color: '#000000'
},
stroke: {
color: '#FFFFFF',
width: 2
},
label: {
text: "{{id}}",
offset: [0, 20],
stroke: {
color: 'yellow', // Color de relleno del halo
width: 2
}
}
}));
//lo establecemos a la capa
layer.setStyle(styleProp);
// Cambiamos el atributo proporcional
function cambiaEdad(nuevaEdad) {
atributo = nuevaEdad;
layer.getStyle().setAttributeName(nuevaEdad);
}