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

时间:2016-04-04 14:46:07

标签: mapbox-gl-js

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

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

下面的小提琴,featuresIn没有返回任何内容[编辑:这是由于没有设置interacive : true,现在已经完成,但问题仍在此处]。您是否知道如何获取地图上显示的功能数量?

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

1 个答案:

答案 0 :(得分:1)

featuresIn未返回任何功能,因为您未在documentation中指定的“路线”图层上设置"interactive": true(但不再在我们的官方文档页面上,因为我们已经更改了这个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仅返回当前视口中的要素。它不会返回所有功能。