javascript - 使 Openlayers 仅在特定范围内请求 WMS 图 block

标签 javascript openlayers wms

有没有办法告诉 openLayers 不要请求超出特定 WMS 层特定范围的图 block ?

我希望 map 的其余部分和其他图层仍然可以访问,因此 map 上的 maxExtent 对我来说不是一个选项。我只想将一个 WMS 层限制在特定范围内。如果视口(viewport)位于边界内并且用户放大得很好,openlayer 会请求新的图 block !但如果视口(viewport)位于外部,则 WMS 应该仅使用该 WMS 图层中的图 block 填充有界区域。

这有意义吗?甚至可能吗?


更新:

  1. 我已在图层上尝试了 maxExtent(WMS 对象从图层扩展),但这仍然无法阻止 OpenLayers 请求 maxExtent 之外的图 block 。

  2. 不,我并不是想解决“粉色瓷砖问题”。

  3. 出于性能原因我需要这个。这个特定的 WMS 层是矢量密集型的。而且 TileCache 不是一个选项,因为我每次都使用动态 SLD。

最佳答案

好吧,我解决了它。这真的很愚蠢,在 WMS 层上设置“maxExtent”确实有效,但只有当“singleTile”选项设置为“false”时。当 Singletile 设置为 true 时,由于某种原因,OpenLayers 会忽略 WMS 层上的 maxExtent,而仅请求边界与 View 端口边界相同的单个图 block !我不确定这是一个错误还是什么,因为它肯定没有意义。

关于javascript - 使 Openlayers 仅在特定范围内请求 WMS 图 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12868084/

相关文章:

javascript - else if 命令不执行任务

javascript - 如何在 ionic 3 Angular 4 返回时停止重新加载页面

javascript - ExtJS:如何动态地将子节点添加到树面板

paste - WMS/WFS服务器: am I crazy to write my own?

javascript - 如何获取用户输入的选定房间并将其乘以两个日期之间的天数差异?

javascript - 引号脚本不起作用

javascript - OpenLayers:如何在标记上添加点击和触摸事件

javascript - OpenLayers 保存特征

javascript - 使用带有 Leaflet 的 WMS 弹出窗口

Openlayers:this.addOptions 不是函数