获取过滤后地图上显示的要素数量(使用 featuresIn)

Get the number of features displayed on a map after a filter (with featuresIn)

首先,我知道 querySourceFeatures 可以解决这个问题。但不幸的是,新版本对所有类型都有效,但对我正在使用的符号无效。所以我仍然在 0.14.x.

版本下编码

就是说,我使用 setFilter 函数过滤我的地图,我需要在过滤完成后返回显示的地图项数量。 我考虑过将整个世界(-90,-180,90,180)地图坐标转换为像素,然后将其传递给featuresIn函数。

在 fiddle 下面,featuresIn returns 什么都没有 [EDIT :那是因为没有设置 interacive : true,现在已经完成但是问题还在这里]。您知道如何获取我的地图上显示的地图项数量吗?

编辑:请找到我的jsFiddle:https://jsfiddle.net/y7hoa0gy/7/

未从 featuresIn 编辑任何特征 return,因为您没有在 "route" 层上设置 "interactive": true,如 documentation 中指定的(但不再出现在我们的官方文档页面上,因为我们对此进行了更改 API).


/*Now I want to know how many features are still displayed after that filter My thought was to get the bbox of the whole map (-180,-90,180,90) and make a featuresIn of that bbox.*/

更根本的是,这种方法行不通。 featuresIn 当前视口中只有 return 个特征。它没有 return 所有功能。