[Style]- Mapas de Calor
Prueba para testear styleheatmap
by Carlos Castellano
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 class="panel" id="style-builder" opened="true">
...
CSS
html,
body {
margin: 0;
padding: 0;
height: 100%;
overflow: scroll;
}
.makidentist:before {
content: '\e814';
color: 'red'
}
#style-builder {
width: 250px;
background-color: white;
position: absolute;
margin-top: -10px;
z-index: 9999;
margin-left: 35%;
border: 1px solid black;
box-shadow: 0px 4px 11px black;
padding: 25px 5px 5px 5px;
transform: translateY(-100%);
transition-property: transform;
transition-duration: 0.4s;
transition-delay: 0s;
transition-timing-function: cubic-bezier(0, .24, .24, 1);
}
.panel>div {
display: flex;
flex-flow: column;
}
#style-builder[opened] {
transform: translateY(0);
}
.hidden {
display: none;
}
#style-builder>.display-handler {
text-align: center;
position: absolute;
left: 0;
right: 0;
bottom: -34px;
display: flex;
flex-flow: row nowrap;
align-items: center;
justify-content: center;
}
#style-builder>.display-handler>span {
font-family: sans-serif;
background-color: #0067ff;
color: white;
padding: 5px 15px 10px 15px;
border-bottom-left-radius: 10px;
border-bottom-right-radius: 10px;
cursor: pointer;
}
#apply-button,
#clear-button {
background-color: #0067ff;
color: white;
padding: 5px 15px;
font-family: sans-serif;
border: none;
border-radius: 5px;
margin-top: 5px;
}
#gradient {
padding: 0.5em;
display: flex;
}
.colors {
display: flex;
flex-flow: row wrap;
}
.color {
margin-left: 5px;
}
.colorHandler {
cursor: pointer;
background-color: #0067ff;
color: white;
text-shadow: 1px 1px black;
margin-top: 10px;
width: 40%;
border-radius: 5px;
text-align: center;
font-family: sans-serif;
font-size: 12px;
}
input[type=color]{
width: 12px;
}
@media (max-width: 400px) {
p {
display: none;
}
.colorHandler {
font-size: 10px;
}
}
JavaScript
let map = M.map({
container: 'map',
controls: ['layerswitcher','scale','mouse']
});
var ayuntamientos = new M.layer.WFS({
name: "assda_sv10_ayuntamiento_point_indicadores",
url: "https://clientes.guadaltel.es/desarrollo/geossigc/wfs?",
namespace: "mapea",
name: "assda_sv10_ayuntamiento_point_indicadores",
legend: "Prestaciones - Ámbito municipal",
getfeatureinfo: "plain",
geometry: 'POINT',
extract: true,
});
map.addLayers(ayuntamientos);
const getValue = function(field) {
return document.getElementById(field).value;
}
const domEls = {
builder: document.querySelector('#style-builder'),
toggleHandler: document.querySelector('#style-builder > .display-handler'),
showButtonText: document.querySelector('#style-builder > .display-handler > span[data-role="show"]'),
hideButtonText: document.querySelector('#style-builder > .display-handler > span[data-role="hide"]'),
addColor: document.querySelector('#add-color'),
removeColor: document.querySelector('#remove-color'),
radioButton1: document.querySelectorAll('[name=gradient]')[0],
radioButton2: document.querySelectorAll('[name=gradient]')[1],
gradient: document.querySelector('.gradient')
}
const eventHandlers = {
toggleStyleBuilder: function() {
if (domEls.builder.hasAttribute('opened')) {
domEls.builder.removeAttribute('opened');
domEls.showButtonText.className = '';
domEls.hideButtonText.className = 'hidden';
} else {
domEls.builder.setAttribute('opened', true);
domEls.hideButtonText.className = '';
domEls.showButtonText.className = 'hidden';
}
},
setStyle: function() {
let attribute = getValue('attribute');
if (M.utils.isNullOrEmpty(attribute)) {
M.dialog.error("El atributo no puede ser vacio", "Error");
}
let blursize = getValue('blursize');
let radius = getValue('radius');
let opacity = getValue('opacity') || 1;
let gradient = getGradients();
let heatmap = new...