是否可以仅渲染视口内的那些图层?

时间:2019-10-11 15:16:20

标签: openlayers

由于OpenLayers地图上有一些“较重”的图层,因此加载它需要花费相当长的时间。我正在取消TileWMS源代码。当我放大到特定区域时,每次必须等待所有图层加载后才能正常与地图交互。是否有一种方法只能在地图的可见区域重新渲染图层,也就是如果它不在视图中,它也不会输入prerender和postrender?

1 个答案:

答案 0 :(得分:1)

图层中有一个名为C1的选项。关于OpenLayers如何从GeoServer请求数据。默认strategystrategy,它请求整个图层。
但是,还有另一种用于加载策略的选项,称为module:ol/loadingstrategy~all。通过在图层中为策略设置此值,您可以请求地图的当前范围。有关OpenLayers示例,请参见here

将bbox选项设置为图层后,您应该更改加载功能或图层URL。例如,上面提到的您应该为源URL设置一个仅加载当前范围的函数。

module:ol/loadingstrategy.bbox