SELECT/HOVER FEATURES

by SIGC GUADALTEL

HTML

<link rel="stylesheet" href="https://sigc.desarrollo.guadaltel.es/mapea42_dev/plugins/geosearchbylocation/geosearchbylocation.min.css">
<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/wfstcontrols/wfstcontrols.min.css">
<link rel="stylesheet" href="https://sigc.desarrollo.guadaltel.es/mapea42_dev/plugins/geosearch/geosearch.min.css">
<link rel="stylesheet" href="https://sigc.desarrollo.guadaltel.es/mapea42_dev/plugins/printer/printer.min.css">
<link rel="stylesheet" href="https://sigc.desarrollo.guadaltel.es/mapea42_dev/plugins/measurebar/measurebar.min.css">
<link rel="stylesheet" href="https://sigc.desarrollo.guadaltel.es/mapea42_dev/plugins/streetview/streetview.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/geosearchbylocation/geosearchbylocation.ol.min.js"></script>
<script src="https://sigc.desarrollo.guadaltel.es/mapea42_dev/plugins/wfstcontrols/wfstcontrols.ol.min.js"></script>
<script src="https://sigc.desarrollo.guadaltel.es/mapea42_dev/plugins/geosearch/geosearch.ol.min.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/measurebar/measurebar.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">
<div id="mapjs" class="container"></div>

CSS

<style rel="stylesheet"> html,
body {
  margin: 0;
  padding: 0;
  height: 100%;
  overflow: hidden;
}

JavaScript

var mapajs = M.map({
  'container': 'mapjs',
  "layers": ['OSM'],
  "controls": ["layerswitcher", "mouse", "scale", "overviewmap", "panzoombar", "scaleline"],
  "center": [385325.7790260389, 4138808.9853899768],
  "zoom": 4
});

let defaultPoint = new M.style.Point({
  fill: {
    color: '#81c89a',
    opacity: 0.7
  },
  stroke: {
    color: '#6eb988',
    width: 2
  },
  radius: 8
})
let selectedPoint = new M.style.Point({
  fill: {
    color: '#ff5757',
    opacity: 0.7
  },
  stroke: {
    color: '#dc3e3e',
    width: 2
  },
  radius: 10
});
let hoverPoint = new M.style.Point({
  fill: {
    color: '#fdd523',
    opacity: 0.7
  },
  stroke: {
    color: '#fda823',
    width: 2
  },
  radius: 8
});
var centros = new M.layer.WFS({
  url: "https://clientes.guadaltel.es/desarrollo/geossigc/wfs?",
  namespace: "mapea",
  name: "centrosassda_subtipo",
  legend: "Centros ASSDA",
  geometry: 'POINT',
  extract: true
});
centros.setStyle(defaultPoint);

let defaultPolygon = new M.style.Polygon({
  fill: {
    color: '#938fcf',
    opacity: 0.7
  },
  stroke: {
    color: '#827ec5',
    width: 2
  }
});
let selectedPolygon = new M.style.Polygon({
  fill: {
    color: '#ff5757',
    opacity: 0.7
  },
  stroke: {
    color: '#dc3e3e',
    width: 2
  }
});
let hoverPolygon = new M.style.Polygon({
  fill: {
    color: '#fdd523',
    opacity: 0.7
  },
  stroke: {
    color: '#fda823',
    width: 2
  }
});
let municipios = new M.layer.WFS({
  name: "Municipios",
  url: "https://clientes.guadaltel.es/desarrollo/geossigc/wfs?",
  namespace: "mapea",
  name: "da_municipio_pol",
  legend: "Municipios",
  geometry: 'POLYGON'
});
municipios.setStyle(defaultPolygon);

mapajs.addLayers([municipios, centros]);

centros.on(M.evt.SELECT_FEATURES, features => features.forEach(f => f.setStyle(selectedPoint)));
centros.on(M.evt.UNSELECT_FEATURES, features => features.forEach(f => f.setStyle(defaultPoint)));
centros.on(M.evt.HOVER_FEATURES, features => features.forEach(f =>...