M.style.Line - sigcorporativo-ja/Mapea4 GitHub Wiki
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.