Mapbox GL JS - 过滤标记的分析
Mapbox GL JS - Analysis of Filtered Markers
我是 Mapbox GL JS 的新手,我很喜欢它!在过滤 GeoJson 源上的标记时,我已经 运行 了解了一些事情,我想知道是否有人可以帮助我...这是我的过滤逻辑示例:
function applyFilters() {
var filters = ["all", ["==", "$type", "Point"]];
if (document.getElementById('filter1checkbox').checked)
filters.push(['==', 'property1', true]);
if (document.getElementById('filter2checkbox').checked)
filters.push(['==', 'property2', true]);
map.setFilter('markers', filters);
var llb = new mapboxgl.LngLatBounds(geojsonExtent(markers));
map.fitBounds(llb);
map.setCenter(llb.getCenter());
}
这是我的问题:
- 应用我的过滤器后,有没有办法获取与过滤器匹配的标记的数量(您的搜索返回了 {X} 项)?
- 当我使用 geojsonExtent 获取标记集合的边界时,它似乎没有考虑过滤器。有没有办法获取过滤器后面的数据以传递到 geojsonExtent?
关于去哪里购买这些物品有什么建议吗?
Once my filter is applied, is there a way to get a count of markers that matched the filter (Your search returned {X} items)?
您可以通过 运行
获取视口中当前可见的过滤标记数
map.queryRenderedFeatures({layers: ['markers']).length
无法获取整个地图中筛选标记的总数。
When I use geojsonExtent to get the bounds of the marker collection, it doesn't seem to be taking the filter into account. Is there a way to get at the data behind the filter to pass into geojsonExtent?
您也可以使用 queryRenderedFeatures
! (注意:此代码未经测试)
geojsonExtent({
type: 'FeatureCollection',
features: map.queryRenderedFeatures({layers: ['markers']).length
});
我是 Mapbox GL JS 的新手,我很喜欢它!在过滤 GeoJson 源上的标记时,我已经 运行 了解了一些事情,我想知道是否有人可以帮助我...这是我的过滤逻辑示例:
function applyFilters() {
var filters = ["all", ["==", "$type", "Point"]];
if (document.getElementById('filter1checkbox').checked)
filters.push(['==', 'property1', true]);
if (document.getElementById('filter2checkbox').checked)
filters.push(['==', 'property2', true]);
map.setFilter('markers', filters);
var llb = new mapboxgl.LngLatBounds(geojsonExtent(markers));
map.fitBounds(llb);
map.setCenter(llb.getCenter());
}
这是我的问题:
- 应用我的过滤器后,有没有办法获取与过滤器匹配的标记的数量(您的搜索返回了 {X} 项)?
- 当我使用 geojsonExtent 获取标记集合的边界时,它似乎没有考虑过滤器。有没有办法获取过滤器后面的数据以传递到 geojsonExtent?
关于去哪里购买这些物品有什么建议吗?
Once my filter is applied, is there a way to get a count of markers that matched the filter (Your search returned {X} items)?
您可以通过 运行
获取视口中当前可见的过滤标记数map.queryRenderedFeatures({layers: ['markers']).length
无法获取整个地图中筛选标记的总数。
When I use geojsonExtent to get the bounds of the marker collection, it doesn't seem to be taking the filter into account. Is there a way to get at the data behind the filter to pass into geojsonExtent?
您也可以使用 queryRenderedFeatures
! (注意:此代码未经测试)
geojsonExtent({
type: 'FeatureCollection',
features: map.queryRenderedFeatures({layers: ['markers']).length
});