我用样式函数创建了我的矢量图层;它们都有独特的符号和文字;我希望能够使用开关打开/关闭文本,但是使用诸如
之类的代码layer.getStyle().getText().setText()
不起作用,因为样式返回样式函数的代码;任何人都有任何想法 下面是代码风格
var vector = new VectorLayer({
visible: vl.visible,
title: vl.title,
source: vectorSource,
style: generateStyleFunction(vl, config, legend),
declutter: false
});
样式函数
return (function styleFunction(feature) {
let layerStyle = new Style({
image: symbol,
fill: new Fill({
color: vl.featureStyle.colour.colour,
}),
stroke: new Stroke({
color: vl.featureStyle.colour.colour,
width: vl.featureStyle.symbol.width
}),
text: new Text({
overflow: true,
offsetY: 15,
offsetX: 15,
stroke: new Stroke({
color: 'rgb(218, 225, 235)',
width: 3
}),
text: textFunction(feature)
})
let textFunction = function (feature) {
var label = vl.labels.propertyName;
let labelContent = feature.get(label);
return labelContent;
}
}