M.style.Line - sigcorporativo-ja/Mapea4 GitHub Wiki

line
Al igual que con el resto de simbología básica, la simbología lineal que deseemos crear es la que establece qué parámetros usar, de entre todos los disponibles. Así por ejemplo, serían válidos todos los siguientes estilos:

// linea amarilla de grosor dos
let estilo1 = new M.style.Line({
    fill: {
       color: 'yellow',
       width: 2
    }
});

// linea roja semitransparente con borde negro y etiqueta
let estilo2 = new M.style.Line({
    fill: {
       color: 'red',
       width: 3,
       opacity: 0.5,
    },
    // borde exterior de la linea
    'stroke': {
       color: '#000000',
       width: 5,
    },
    // etiquetado de la linea
    'label': {
       // texto o funcion de etiquetado
       text: function(feature) {
        return feature.getAttribute('nombre');
       },
       font: 'bold italic 10px Comic Sans MS',
     }
});

A continuación se describen todos los parámetros posibles, siempre teniendo en cuenta que solo son necesarios los que se requieran para cada estilo:

let line = new M.style.Line({
    // Relleno de la linea
    fill: {
      color: 'yellow',  // Color de relleno
      width: 3,         // Grosor de la linea 
      opacity: 0.5,     // Transparencia. 0(transparente)|1(opaca)
    },
    // borde exterior de la linea
    stroke: {
      color: '#C8FE2E',   // Color del borde exterior
      width: 5,           // Grosor del borde, superior al de fill
      linedash: [5,5,20], // Patrón de distancias
      linedashoffset: 1,  // Offset de fase
      linecap: 'square',  // Estilo de final de linea. round|square|butt
      linejoin: 'miter',  // Estilo de conexión de segmentos. miter|round|bevel
      miterlimit: 15      // Tamaño máximo segmento de conexión
   },
    // etiquetado de la linea
    label: {
      text: function(feature) {         // Texto o funcion de etiquetado
       return feature.getAttribute('nombre');
      },                                
      font: 'bold 10px Comic Sans MS',  // Fuente de etiquetado
      rotate: false,                    // Fotacion con dispositivo 
      scale: 0.9,                       // Escalado a aplicar
      offset: [10, 20],                 // Desplazamiento de etiquetado en pixeles
      color: '#2EFEC8',                 // Color de la etiqueta
      // Halo de la etiqueta
      stroke: {
       color: '#C8FE2E',    // Color del halo
       width: 3,            // Grosor del halo
       linedash: [5,5,20],  // Patrón de distancias
       linedashoffset: 1,   // Offset de fase
       linecap: 'square',   // Estilo de final de linea. round|square|butt
       linejoin: 'miter',   // Estilo de conexión de segmentos. miter|round|bevel
       miterlimit: 15       // Tamaño máximo segmento de conexión   
     },
     rotate: false,                  // Rotacion con dispositivo
     rotation: 0.5,                  // Ángulo de rotación
     align: M.style.align.LEFT,      // Alineación horizontal. CENTER|LEFT|RIGHT
     baseline: M.style.baseline.TOP, // Alineación vertical. TOP|BOTTOM|MIDDLE
     textoverflow: 'hidden',
     minwidth: 60,
     // IMPORTANTE: puede afectar seriamente al rendimiento
     path: true                     // Seguimiento de la geometría
   }   
 });

:bulb: Para las capas lineales, Mapea aplica el estilo por defecto M.style.Line.DEFAULT. Para cambiarlo, basta con redefinir dicha constante y asignarle el estilo deseado.

Ejemplo funcional