Error when trying to add a filter checking for attribute presence in WebGL Vector Layer (`has` operator)
Author: abdul-zignexCreated May 22, 2025Updated Sep 1, 2026
Labelsbug
We have this requirement where we want to add style filter dynamically to features in WebGL Layer using '==' with 'any' and 'all'. But it starts giving this error:
Have attached a working example with one such static filter that reproduce the issue: https://codesandbox.io/p/devbox/gvnt82
sample filter:
"filter": [
"all",
[
"any",
["==", ["get", "prRouteWkDOW1_tuesday"], "tuesday"],
["==", ["get", "prRouteWkDOW1_wednesday"], "wednesday"],
["==", ["get", "prRouteWkDOW1_thursday"], "thursday"],
["==", ["get", "prRouteWkDOW1_friday"], "friday"],
["==", ["get", "prRouteWkDOW1_saturday"], "saturday"],
["==", ["get", "prRouteWkDOW1_sunday"], "sunday"]
],
[
"any",
["==", ["get", "prRouteWkDOW2_tuesday"], "tuesday"],
["==", ["get", "prRouteWkDOW2_wednesday"], "wednesday"],
["==", ["get", "prRouteWkDOW2_thursday"], "thursday"],
["==", ["get", "prRouteWkDOW2_friday"], "friday"],
["==", ["get", "prRouteWkDOW2_saturday"], "saturday"],
["==", ["get", "prRouteWkDOW2_sunday"], "sunday"]
],
[
"any",
["==", ["get", "prRouteWkDOW3_tuesday"], "tuesday"],
["==", ["get", "prRouteWkDOW3_wednesday"], "wednesday"],
["==", ["get", "prRouteWkDOW3_thursday"], "thursday"],
["==", ["get", "prRouteWkDOW3_friday"], "friday"],
["==", ["get", "prRouteWkDOW3_saturday"], "saturday"],
["==", ["get", "prRouteWkDOW3_sunday"], "sunday"]
],
[
"any",
["==", ["get", "prRouteWkDOW4_tuesday"], "tuesday"],
["==", ["get", "prRouteWkDOW4_wednesday"], "wednesday"],
["==", ["get", "prRouteWkDOW4_thursday"], "thursday"],
["==", ["get", "prRouteWkDOW4_friday"], "friday"],
["==", ["get", "prRouteWkDOW4_saturday"], "saturday"],
["==", ["get", "prRouteWkDOW4_sunday"], "sunday"]
]
]Source: openlayers/openlayers