gpt4 book ai didi

javascript - openlayers3 所选功能的相同样式(只有一个更改的属性)?

转载 作者:行者123 更新时间:2023-11-30 16:18:05 25 4
gpt4 key购买 nike

我有一个带有样式定义的 ol3 层。我想对选择交互使用相同的样式:

style = function(feature, resolution) {

var iconFont = 'FontAwesome';
var iconFontText = '\uf1f8'; // fa-trash
var iconSize = 24;
var col = 'black';

var styles = [];

var styleIcon = new ol.style.Style({
text: new ol.style.Text({
font: 'Normal ' + iconSize + 'px ' + iconFont,
text: iconFontText,
fill: new ol.style.Fill({color: col})
})
});
styles.push(styleIcon);

}

return styles;
};

new ol.layer.Vector({
source: that.source,
style: style
});

new ol.interaction.Select({
features: that.selectedFeatures,
style: style
})

我只想更改样式的一个属性 (iconSize) 以突出显示所选功能。这有可能吗?我不想定义两个单独的样式,但如果可以以某种方式以编程方式复制样式并替换图标大小值,我会没问题。

最佳答案

现在我找到了一个可行的解决方案:

您可以向样式函数添加一个额外的参数(例如高亮 [bool]):

style = function(feature, resolution, highlight) {
...
}

而不是

new ol.interaction.Select({
features: that.selectedFeatures,
style: style
})

你可以使用

new ol.interaction.Select({
features: that.selectedFeatures,
style: function(feature,resolution){
return style(feature,resolution,true);
}
})

关于javascript - openlayers3 所选功能的相同样式(只有一个更改的属性)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35184546/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com