Mapbox 不接受过滤表达式?

问题描述 投票:0回答:1

我正在尝试为一个图层设置一个过滤器表达式,其中所有要素在其属性中都有一个名为“iri”的字符串类型字段。该表达式应该是一个简单的相等匹配,但是 Mapbox (v2.14.1) 产生的错误似乎与传入的过滤器不对应。

过滤器对象,在传递到地图之前输出到控制台,是:

["==",["get","iri"],"some-iri-value"]

Mapbox 的错误输出:

evented.js:151 Error: layers.my-layer.filter: array expected, string found
    at bs (validate_style.js:13:41)
    at iA (style.js:64:5)
    at aA._validate (style.js:2234:16)
    at aA.setFilter (style.js:1647:18)
    at Map.setFilter (map.js:2720:20)

据我所知,这是正确的语法,并且它确实适用于样式属性。我在这里错过了什么吗?

javascript maps mapbox mapbox-gl-js
1个回答
0
投票

validate_style.js 代码可能需要 JSON 字符串值,而不是原始数组。如果是这样,通过 JSON.stringify 将其转换为 JSON 字符串可能会解决问题。

等等,实际上,我认为这是相反的问题。很快就会编辑。

© www.soinside.com 2019 - 2024. All rights reserved.