CP-072-03

Style Category LIN

by SIGC

HTML

<script src="https://sigc.desarrollo.guadaltel.es/mapea5/js/mapea.ol.min.js"></script>
<link rel="stylesheet" href="https://sigc.desarrollo.guadaltel.es/mapea5/assets/css/mapea.ol.min.css">
<script src="https://sigc.desarrollo.guadaltel.es/mapea5/js/configuration.js"></script>
  <div id="mapjs" class="container"></div>
  

    <div id="pruebas" class="container">

<button type="button" onclick="crea()">new StyleCategory( AtributeName, JSON-Category-Style)</button>


      <P>Introduzca el nuevo AttributeName
        <INPUT type="text" name="AttributeName" id="AttributeName"> </P>

      <P>Introduzca la categoria
        <INPUT type="text" name="CategoryStyle" id="CategoryStyle"> </P>


      <P>GetStyleForCategories devolverá el estilo de una categoria (escpecificada por parametro)</P>

      <button type="button" onclick="GetStyleForCategories()">GetStyleForCategories</button>

      <P>SetStyleForCategories aplicará un estilo nuevo (por defecto se ha configurado uno internamente) a una categoria (escpecificada por parametro)</P>

      <button type="button" onclick="SetStyleForCategories()">SetStyleForCategories</button>

      <P>Devuelve el valor de AttributeName del objeto CategoryStyle</P>


      <button type="button" onclick="GetAttributeName()">GetAttributeName</button>

      <P>Cambia el valor AttributeName del objeto CategoryStyle</P>

      <button type="button" onclick="SetAttributeName()">SetAttributeName</button>




      <P>Devuelve todas las posibles valores que tiene una determinada categoria</P>

      <button type="button" onclick="GetCategories()">GetCategories</button>
  </div>

CSS

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

JavaScript

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



let layer = new M.layer.WFS({
        name: "Ríos",
        url: "https://clientes.guadaltel.es/desarrollo/geossigc/wfs",
   namespace: "mapea",
   name: "mapb_hs1_100",
   legend: "mapb_hs1_100",
	 getfeatureinfo:"plain",
   geometry: 'LINE',
	 extract: true});
   

mapajs.addLayers([layer]);

mapajs.addPlugin(new M.plugin.Printer());
mapajs.addPlugin(new M.plugin.AttributeTable());



var rojo = new M.style.Line({
  fill: {
    color: 'red',
    width: 15
  },
  stroke: {
    color: 'black',
    width: 2
  },

  radius: 5

});

var amarillo = new M.style.Line({
  fill: {
    color: 'yellow',
    width: 15
  },
  stroke: {
    color: 'black',
    width: 2
  },

  radius: 5
});

var rosa = new M.style.Line({
  fill: {
    color: 'pink',
    width: 15
  },
  stroke: {
    color: 'black',
    width: 2
  },
  radius: 2

});
var azul = new M.style.Line({
  fill: {
    color: 'blue',
    width: 15
  },
  stroke: {
    color: 'black',
    width: 2
  },
  radius: 5
});

var verde = new M.style.Line({
  fill: {
    color: 'green',
    width: 15
  },
  stroke: {
    color: 'black',
    width: 2
  },
  radius: 5
});


// constructor del mapa

var categoryStyle = new M.style.Category("longitud", {
  "656 km": azul,
  "127 km": rosa,
  "345 km": rojo
});


layer.setStyle(categoryStyle);

function crea(){
	layer.setStyle(categoryStyle);
}




function GetStyleForCategories() {
  let CategoryStyle = document.getElementById('CategoryStyle').value;
  let res = categoryStyle.getStyleForCategory(CategoryStyle);
  console.log(res);

}


function SetStyleForCategories() {
  let CategoryStyle = document.getElementById('CategoryStyle').value;
  let res = categoryStyle.setStyleForCategory(CategoryStyle, azul);
  console.log(res);
}


function GetAttributeName() {
  let res = null;
  res = categoryStyle.getAttributeName();
 ...