[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);

}