Openlayers上带有WebGL PointsLayer的多个过滤器

Openlayers上带有WebGL PointsLayer的多个过滤器,openlayers,openlayers-6,Openlayers,Openlayers 6,我找不到一种方法来动态地多次过滤同一个变量。 对于给定的变量,比如说testVar,我知道我可以这样做: const [testStyle] = useState({ variables: { testVar: 'MY_VALUE_SEARCHED', testVar2: 'MY_SECOND_VALUE_SEARCHED', }, filter: ['==', ['get', 'featureTest'], ['var', 'test']] &a

我找不到一种方法来动态地多次过滤同一个变量。 对于给定的变量,比如说
testVar
,我知道我可以这样做:

const [testStyle] = useState({
    variables: {
      testVar: 'MY_VALUE_SEARCHED',
      testVar2: 'MY_SECOND_VALUE_SEARCHED',
    },
    filter: ['==', ['get', 'featureTest'], ['var', 'test']] && ['==', ['get', 'featureTest'], ['var', 'test2']] ,

但是我想要的是有一个允许多个值的搜索框,将它放入数组中,就像这样:
testVar:['MY_-VALUE\u-SEARCHED','MY_-SECOND\u-VALUE\u-SEARCHED']
但是我找不到用数组编写过滤函数的方法,你应该使用'all'表达式来实现这一点。将所有过滤器作为参数设置为“全部”。描述。 你的代码应该是这样的

filter: ['all', 
         ['==', ['get', 'featureTest'], ['var', 'test']], 
         ['==', ['get', 'featureTest'], ['var', 'test2']],
        ]

您应该使用“all”表达式来实现这一点。将所有过滤器作为参数设置为“全部”。描述。 你的代码应该是这样的

filter: ['all', 
         ['==', ['get', 'featureTest'], ['var', 'test']], 
         ['==', ['get', 'featureTest'], ['var', 'test2']],
        ]