使用 Mapbox GL JS 删除过滤器

Ton*_*ugg 4 mapbox-gl-js

使用 Mapbox GL JS 0.39.1,我在图层上设置了一个过滤器:

map.setFilter('myLayer', ['!=', 'myKey', 'myValue'])
Run Code Online (Sandbox Code Playgroud)

我找不到移除过滤器的方法。我原以为会有一个 map.removeFilter... 函数,但在文档或网络搜索中什么也没找到。我可以应用一个假过滤器 (>'') 使其始终匹配,但这似乎效率低下。当然,有一种方法可以去除过滤器。

编辑:我发现使用以下代码将实现我想要完成的任务。不确定这是否是推荐的方法。

map.setFilter('myLayer');
Run Code Online (Sandbox Code Playgroud)

And*_*vey 8

文档刚刚更新的,我个人建议使用

map.setFilter('myLayer', null)
Run Code Online (Sandbox Code Playgroud)

因为它更明确并且在我看来使代码更具可读性。虽然你的方法map.setFilter('myLayer');也可以接受。