Openlayers 3 OpenLayers 3 BBOX策略

Openlayers 3 OpenLayers 3 BBOX策略,openlayers-3,Openlayers 3,给出这个示例并使用BBOX策略,这是否意味着有必要在源URL中使用&BBOX='+extent.join(',')part OpenLayers3策略BBOX策略说“请求新功能 当贴图边界超出上一个贴图的边界时 请求的功能集。“ 是,如果需要,&bbox='+区段。连接(',')。如果你把它拿出来,你将得不到任何wfs功能。该示例实际上有些误导,因为它称之为BBOX策略,而实际上它是一种createTile策略,使用每个底层tile中的BBOX作为wfs BBOX。如果您在内部查看源代码,您将发

给出这个示例并使用BBOX策略,这是否意味着有必要在源URL中使用
&BBOX='+extent.join(',')
part

OpenLayers3策略BBOX策略说“请求新功能 当贴图边界超出上一个贴图的边界时 请求的功能集。“


是,如果需要,
&bbox='+区段。连接(',')
。如果你把它拿出来,你将得不到任何wfs功能。该示例实际上有些误导,因为它称之为BBOX策略,而实际上它是一种
createTile
策略,使用每个底层tile中的BBOX作为wfs BBOX。如果您在内部查看源代码,您将发现一个函数
loadFeatures
,该函数调用
ol.loadingstrategy.createTile
,从中返回每个tile所需的区段,然后用于每个wfs调用。这是您在上面的extent.join中看到的范围

或者从另一个角度来看,对于获取图像互动程序的每个调用,都有一个对应的wfs互动程序调用——您可以通过查看浏览器开发工具的“网络”选项卡来验证。所以,实际上,这是一个tile-BBOX策略,而不是view-BBOX策略


我完全建议让本地调试为OL3工作,以了解发生了什么。您可以通过加载js的非压缩版本或设置本地服务器来实现这一点,请参见

我已经回答了我认为是您的问题--它来自示例注释中的一个错误,因为BBOX不是指地图范围的BBOX,而是指平铺范围。现在我比以前更困惑了,因为我从我的url中删除了
&bbox='+extent.join(',')
部分(因为它不适用于GeoServer CQL筛选器),而且我的策略是bbox,我拥有所有功能。实际上,它不适用于我,在本地根据OL示例中提供的wfs进行调试。是否您只是从Geoserver获取所有功能?如果Geoserver没有bbox,它将为一个层返回许多功能,如果该层足够小,您可能会看到所有内容。如果您尝试从OL示例中删除bbox,您将什么也看不到。我不会从您的wfs中得到任何回报。我看到这样的请求,但它只是挂起:我真的无法对此发表评论。对我来说,这个请求是有效的。奇怪。我已经更新了你的小提琴(对不起,我的vpn由于某种原因阻止了你的wfs)。如果去掉maxFeatures,看看会发生什么。你什么也得不到。将其设置为maxFeatures=200,看看会发生什么。正如我上面所说的,由于您没有BBOX,您的服务器只是响应maxFeatures。