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']],
]