我正在尝试在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
]
]
过滤器不适用,但是如果我从表达式中删除“ inwith”,则过滤器可以正常工作。 “ inside”表达式本身也可以很好地工作,但是在上述情况下会失败。
有关如何解决此问题的见解?