__ELIM__CP-070-07 Panel StylePoint

Estilos de puntos por panel de opciones

by SIGC GUADALTEL

HTML

<link rel="stylesheet" href="https://sigc.desarrollo.guadaltel.es/mapea42/assets/css/mapea.ol.min.css">
<link rel="stylesheet" href="https://sigc.desarrollo.guadaltel.es/mapea42/plugins/geosearchbylocation/geosearchbylocation.min.css">
<link rel="stylesheet" href="https://sigc.desarrollo.guadaltel.es/mapea42/plugins/wfstcontrols/wfstcontrols.min.css">
<link rel="stylesheet" href="https://sigc.desarrollo.guadaltel.es/mapea42/plugins/geosearch/geosearch.min.css">
<link rel="stylesheet" href="https://sigc.desarrollo.guadaltel.es/mapea42/plugins/printer/printer.min.css">
<link rel="stylesheet" href="https://sigc.desarrollo.guadaltel.es/mapea42/plugins/measurebar/measurebar.min.css">
<link rel="stylesheet" href="https://sigc.desarrollo.guadaltel.es/mapea42/plugins/streetview/streetview.min.css">
<script src="https://sigc.desarrollo.guadaltel.es/mapea42/vendor/browser-polyfill.js"></script>
<script src="https://sigc.desarrollo.guadaltel.es/mapea42/js/mapea.ol.min.js"></script>
<script src="https://sigc.desarrollo.guadaltel.es/mapea42/js/configuration.js"></script>
<script src="https://sigc.desarrollo.guadaltel.es/mapea42/plugins/geosearchbylocation/geosearchbylocation.ol.min.js"></script>
<script src="https://sigc.desarrollo.guadaltel.es/mapea42/plugins/wfstcontrols/wfstcontrols.ol.min.js"></script>
<script src="https://sigc.desarrollo.guadaltel.es/mapea42/plugins/geosearch/geosearch.ol.min.js"></script>
<script src="https://sigc.desarrollo.guadaltel.es/mapea42/plugins/printer/printer.ol.min.js"></script>
<script src="https://sigc.desarrollo.guadaltel.es/mapea42/plugins/measurebar/measurebar.ol.min.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/css/bootstrap.min.css">
<div class="row">
      <div class="col-md-4 panel">
        <button class="btn btn-primary">Form</button>
        <div class="input-group">
             <span class="label label-default">Forma:</span>
             <div class="input-group">
               ...

CSS

html,
      body {
        margin: 0;
        padding: 0;
        height: 100%;
        overflow: hidden;
        font-size: 10px;
      }
      .makidentist:before {
        content: '\e814';
        color: 'red'
      }

      .input-group {
        padding: 0.3em;
      }

      .input-group span,
      input,
      select {
        margin-left: 0.5em;
      }

JavaScript

var mapajs = M.map({
  container: 'map',
  controls: ["layerswitcher", "mouse", "scale", "overviewmap", "panzoombar", "scaleline",],
	});


var puntos = new M.layer.WFS({
   name: "Centros ASSDA",
   url: "https://clientes.guadaltel.es/desarrollo/geossigc/wfs?",
   namespace: "mapea",
   name: "centrosassda",
   legend: "centrosassda",
	 getfeatureinfo:"plain",
   geometry: 'POINT',
	 extract: true,
	 });
   
   puntos.on(M.evt.LOAD, () => puntos.setStyle(stylePointInicial) );


mapajs.addLayers([puntos]);

var nullStylePoint = new M.style.Point({});

let stylePointInicial = new M.style.Point({
  form: 'triangle',
  radius: 5,
  fill: {
    color: 'red',
    opacity: 1
  }
});


let stylePointTrabajo = new M.style.Point({
  form: 'triangle',
  radius: 10,
  fill: {
    color: 'red',
    opacity: 1,
    gradient: true
  },
  icon: {
  	src: '',
    class: 'g-cartografia-save',
    size: 1,
    color: 'yellow'
  },
  'rotate': false,
  'rotation': 45
});





// Setea estilo a nivel de capa
function setStyleLayer(layer, style) {
  layer.setStyle(style);
}

//Setea estilo a nivel de feature
function setStyleFeature(feature, style) {
  feature.setStyle(style);
}

function set(element) {
  let style = puntos.getStyle();
  console.log(puntos.getStyle());
  style.set(element.id, element.value);
  let op = style.options_;
  console.log(op);
  puntos.setStyle(new M.style.Point(op));
  puntos.redraw();
}

function linedash(element) {
  let linedash = [element.value, element.value];
  let style = puntos.getStyle();
  style.set('linedash', linedash);
  let op = style.options_;
  puntos.setStyle(new M.style.Point(op));
}

function setText(element) {
  let style = puntos.getStyle();
  style.set(element.id, element.value);
  style.set('label.font', 'bold italic 19px Comic Sans MS');
  let op = style.options_;
  puntos.setStyle(new M.style.Point(op));
}