当我更改属性的值时,我正在尝试制作 mapbox 图层以更改圆圈的颜色。但是圆圈的颜色没有改变。
我使用 mapbox-gl-draw
这里的jsbin: https ://jsbin.com/lojuwak/edit?html,output
这里图层的样式用 circle-color 的表达式来根据值改变颜色
{
'id': 'gl-draw-point-inactive',
'type': 'circle',
'filter': ['all',
['==', 'active', 'false'],
['==', '$type', 'Point'],
['==', 'meta', 'feature'],
['!=', 'mode', 'static']
],
'paint': {
'circle-radius': 12,
'circle-blur': 0.5,
'circle-color': ["case",
['!',['has', 'isProcessed']], '#FF0000',
'#214AED'
]
}
我的数据是geojson,其属性“isProcessed”未定义。
当我最初加载geojson时,这部分工作正常。
当我将添加属性更改为所选功能时出现的问题
我通过执行以下操作添加功能的属性“isProcessed”:
selectedFeature = this.draw.getSelected();
selectedFeature.features[0].properties.isProcessed = true;
this.draw.add(selectedFeature);
但是更新功能的颜色不会改变。
我错过了哪一步?
谢谢