获取过滤后地图上显示的要素数量(使用 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 所有功能。
首先,我知道 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 所有功能。