Openlayers 3 在vector openlayer图层上设置maxFeatures

Openlayers 3 在vector openlayer图层上设置maxFeatures,openlayers-3,Openlayers 3,因此,我使用Openlayers 3.9.0,并使用加载程序从Geoserver获取矢量层。下面是目前有效的代码 var sourceVector = new ol.source.Vector({ format: new ol.format.GeoJSON(), loader: function (extent) { $.ajax('http://localhost:5550/geoserver/mymap/wfsservice=W

因此,我使用Openlayers 3.9.0,并使用
加载程序
从Geoserver获取矢量层。下面是目前有效的代码

    var sourceVector = new ol.source.Vector({
        format: new ol.format.GeoJSON(),
        loader: function (extent) {
            $.ajax('http://localhost:5550/geoserver/mymap/wfsservice=WFS&version=1.0.0&request=GetFeature&typeName=mymap:mylayer&outputFormat=application/json', 
            {type: 'GET'})
            .done(      
             function(response) {
                        var geojsonFormat = new ol.format.GeoJSON({});
                        sourceVector.addFeatures(geojsonFormat.readFeatures(response,{dataProjection :projection,featureProjection : projection}));
                    })
            .fail(function () {alert("BAD");});
        },
        strategy: new ol.loadingstrategy.tile(ol.tilegrid.createXYZ({maxZoom: 20}))
    });
通过将
maxFeatures
…&maxFeatures=50&…
)设置到我的url,我无法获得所有功能。这是否意味着如果放大,我会看到更多的功能,如果缩小,我会看到更少的功能?
maxFeatures
是否与
bbox
相关,并根据当前地图视图和缩放级别渲染要素?或者这不是概念?因为在我的例子中,我总是看到固定数量的功能


感谢调用了
ol.source.Vector
的加载函数,其中包含范围、分辨率和投影。语义期望是加载程序函数负责加载该范围内的所有特性

ol.source.Vector
维护所有加载扩展数据块的历史记录,并且不会尝试加载已加载扩展数据块内的扩展数据块

因此,如果在较低的缩放级别上使用
tile
加载策略,并且
maxFeatures
导致忽略某些功能,则放大将不会使它们出现(因为加载该区段本应已完成父tile加载)

因此,将WFS参数
maxFeatures
ol.source.Vector
一起使用通常是个坏主意。如果您确实需要限制每个请求的特征数量,请考虑将您的层限制到更高的缩放级别,或者对每个加载程序调用进行多个请求。
此外,加载器代码不使用
extent
参数,使每个请求都相同。加载程序的唯一责任是加载给定范围内的功能。如果要独立于其位置加载所有要素,请使用
all
加载策略。

调用
ol.source.Vector
的加载函数时,会使用范围、分辨率和投影。语义期望是加载程序函数负责加载该范围内的所有特性

ol.source.Vector
维护所有加载扩展数据块的历史记录,并且不会尝试加载已加载扩展数据块内的扩展数据块

因此,如果在较低的缩放级别上使用
tile
加载策略,并且
maxFeatures
导致忽略某些功能,则放大将不会使它们出现(因为加载该区段本应已完成父tile加载)

因此,将WFS参数
maxFeatures
ol.source.Vector
一起使用通常是个坏主意。如果您确实需要限制每个请求的特征数量,请考虑将您的层限制到更高的缩放级别,或者对每个加载程序调用进行多个请求。
此外,加载器代码不使用
extent
参数,使每个请求都相同。加载程序的唯一责任是加载给定范围内的功能。如果要独立于其位置加载所有要素,请使用
all
加载策略。

调用
ol.source.Vector
的加载函数时,会使用范围、分辨率和投影。语义期望是加载程序函数负责加载该范围内的所有特性

ol.source.Vector
维护所有加载扩展数据块的历史记录,并且不会尝试加载已加载扩展数据块内的扩展数据块

因此,如果在较低的缩放级别上使用
tile
加载策略,并且
maxFeatures
导致忽略某些功能,则放大将不会使它们出现(因为加载该区段本应已完成父tile加载)

因此,将WFS参数
maxFeatures
ol.source.Vector
一起使用通常是个坏主意。如果您确实需要限制每个请求的特征数量,请考虑将您的层限制到更高的缩放级别,或者对每个加载程序调用进行多个请求。
此外,加载器代码不使用
extent
参数,使每个请求都相同。加载程序的唯一责任是加载给定范围内的功能。如果要独立于其位置加载所有要素,请使用
all
加载策略。

调用
ol.source.Vector
的加载函数时,会使用范围、分辨率和投影。语义期望是加载程序函数负责加载该范围内的所有特性

ol.source.Vector
维护所有加载扩展数据块的历史记录,并且不会尝试加载已加载扩展数据块内的扩展数据块

因此,如果在较低的缩放级别上使用
tile
加载策略,并且
maxFeatures
导致忽略某些功能,则放大将不会使它们出现(因为加载该区段本应已完成父tile加载)

因此,将WFS参数
maxFeatures
ol.source.Vector
一起使用通常是个坏主意。如果您确实需要限制每个请求的特征数量,请考虑将您的层限制到更高的缩放级别,或者对每个加载程序调用进行多个请求。 此外,加载器代码不使用
extent
参数,使每个请求都相同。加载程序的唯一责任是加载给定范围内的功能。如果您想独立于其位置加载所有功能,请使用
all
加载策略。

那么,“摆脱maxFeatures”是一条一般规则吗?或者它可以与其他设置结合使用?例如
maxFeatures
和策略bbox?我认为,这种组合将只加载50个功能,每放大一级