我正在尝试设置矢量图层中单独要素的填充颜色。使用以下代码,我认为我应该能够遍历要素并单独设置它们的填充样式,但发生了奇怪的问题。没有setStyle函数时,特征的各种属性被记录在控制台中。id,name和geometry。大约有5个左右的特征被记录。基本上像这样:
很长一段时间以来,火狐浏览器日志已经达到上限了,告诉我有2000条条目无法显示!
但好的是,第一个功能确实改变了填充颜色!因此,我认为我使用的代码至少有一半是正确的!但肯定有严重的问题存在。
代码如下:
room1
room2
room3
room4
room5
每个要素下面都有额外的数据(id、几何形状)。
但是当我添加设置要素填充的代码行时,出现了一个奇怪的问题。它似乎在第一个要素上卡住了循环,并且控制台会填满该要素的日志属性,例如:
room1
room1
room1
room1
room1
room1
room1
很长一段时间以来,火狐浏览器日志已经达到上限了,告诉我有2000条条目无法显示!
但好的是,第一个功能确实改变了填充颜色!因此,我认为我使用的代码至少有一半是正确的!但肯定有严重的问题存在。
代码如下:
vector.getSource().on('change', function (evt) {
var source = evt.target;
if (source.getState() === 'ready') {
var features = vector.getSource().getFeatures()
for (var k in features) {
console.log(features[k].getProperties()['name']);
console.log(features[k].getProperties()['id']);
console.log(features[k].getGeometry()['n']);
features[k].setStyle(new ol.style.Style({fill: fill}));
}
}
});
我对 OL3 或样式特性并不了解,通过多次尝试和猜测才找到这个结果。是否有人能指导我正确的方向?