Я пытаюсь объединить несколько фильтров в MapBox GL JS v1.9.1. Фильтр - если свойство "d" находится между 2 целыми числами, а свойство "i" имеет одно из заданных значений И, если точка находится в пределах многоугольника. Выражение фильтра выглядит следующим образом -
[
"all",
[
">=",
[
"get",
"d"
],
1577854800
],
[
"<=",
[
"get",
"d"
],
1577941199
],
[
"match",
[
"get",
"i"
],
[
"bdba680267591d0543072cf18cd98e57",
"c42c6d59e302b45e5fb6be6e8abdfcbb",
"2b34c7d0c8fe7021eae2cf8b693f6d14",
"bcbce48c922fdd706094d80f6f6efa5a"
],
true,
false
],
[
"==",
[
"within",
[
"object",
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
-73.96644912936983,
40.7579747
],
[
-73.96790253328018,
40.76354671807032
],
[
-73.96870366224104,
40.76483841792908
],
[
-73.98926755133365,
40.77225531118752
],
[
-73.99108514195954,
40.771908119615176
],
[
-73.99284935487653,
40.77142674159516
],
[
-73.99454319974974,
40.77081581306094
],
[
-73.99615036392716,
40.770081217588285
],
[
-74.00454413035031,
40.75940186729005
],
[
-74.00463607063017,
40.7579747
],
[
-73.97078314761191,
40.74873768960421
],
[
-73.96966695937762,
40.749885383567914
],
[
-73.96870366224104,
40.75111098207092
],
[
-73.96790253328018,
40.752402681929674
],
[
-73.96727128780488,
40.753748043368425
],
[
-73.96681600505411,
40.75513410982106
],
[
-73.9665410696497,
40.756547532709945
],
[
-73.96644912936983,
40.7579747
]
]
]
}
}
]
}
]
],
true
]
]
Фильтр не применяется, но если я удаляю «в» из выражения, фильтр работает нормально. Выражение «в пределах» отлично работает и само по себе, но в приведенном выше случае не работает.