我想知道为什么我的样式函数会为添加到图层的每个特征调用两次。这是我的代码:
var features = new ol.Collection(),
layer = new ol.layer.Vector({
source: new ol.source.Vector({features: features}),
style: function(feature, resolution){
console.log("called it"); // <-- called twice for each feature
return getStyle(feature);
}
});
map.addLayer(layer);
var draw = new ol.interaction.Draw({
features: features,
type: (geomType)
});
map.addInteraction(draw);
我无法弄清楚为什么每次向地图添加要素时都会调用样式函数两次。当特征数量增加时,它成为一个问题并且看起来很糟糕。
修改
嗯,我明白了。实际上我提供了不可复制的代码。实际上,我set
在样式函数中有一个特征属性。似乎当你使用feature.set(...)
时,再次调用样式函数。所以,问题已经解决了。