1

FeatureID フィルターと Comparison.EQUAL_TO フィルターを組み合わせた OpenLayers で Logical.AND フィルターを作成しようとしています。目標は、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 フィルターを使用することはできませんか?

4

1 に答える 1