我正在尝试在 OpenLayers 中构建一个 Logical.AND 过滤器,它将 FeatureID 过滤器与 Comparison.EQUAL_TO 过滤器相结合。目标是在一组由它们的 fid 过滤的特征中过滤一个属性。这是一些示例代码:
var compfltr= new OpenLayers.Filter.Comparison({
type: OpenLayers.Filter.Comparison.EQUAL_TO,
property: 'cat',
value: 'restaurant'
});
var idfltr= new OpenLayers.Filter.FeatureId({
fids: ['f09de70a-9629-4aac-afd2-00375d7e920f', '77d51ff0-6f85-4503-90ca-27d78e270ebd', '5d19df37-ed3b-4e06-8ca2-001b832713dc', '36841c4f-cfc9-4440-beb3-001dd7a9a754', '4ca129c9-62e4-41b8-8a49-00239612cd59']
});
var selfilter = new OpenLayers.Filter.Logical({
type: OpenLayers.Filter.Logical.AND
});
selfilter.filters.push(compfltr)
selfilter.filters.push(idfltr)
var rule = new OpenLayers.Rule({
filter: selfilter,
symbolizer: { fillColor: "#7FCC7F", fillOpacity: 0.9, strokeColor: "#7FCC7F", strokeOpacity: 0.5, strokeWidth: 12, pointRadius: 10 }
});
我用其他过滤器类型构建一个 Logical.AND 过滤器没有问题,但是当我包含一个 FeatureId 过滤器时它失败了。不能在逻辑过滤器中使用 FeatureId 过滤器吗?