MapBox GL JS 组合过滤器
MapBox GL JS Combining Filters
我正在尝试在 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
]
]
过滤器不适用,但如果我从表达式中删除 "within",过滤器工作正常。 "within" 表达式本身也能完美运行,但在上述情况下会失败。
关于如何解决这个问题的任何见解?
嵌套 'within' 过滤器已 a bug 并修复。
我正在尝试在 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
]
]
过滤器不适用,但如果我从表达式中删除 "within",过滤器工作正常。 "within" 表达式本身也能完美运行,但在上述情况下会失败。
关于如何解决这个问题的任何见解?
嵌套 'within' 过滤器已 a bug 并修复。