使用样式函数动态改变矢量图层的样式

时间:2021-03-22 08:58:53

标签: javascript openlayers

我用样式函数创建了我的矢量图层;它们都有独特的符号和文字;我希望能够使用开关打开/关闭文本,但是使用诸如

之类的代码
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;
        }

}

0 个答案:

没有答案
相关问题