【发布时间】:2018-04-03 09:38:25
【问题描述】:
我想从 BBOX 参数中动态检索 OpenLayers 中 ImageWMS 图层的范围。
我会用它来(例如)缩放到图层的范围。
目前,我的代码如下所示:
var layer2 = new ol.layer.Image({
title: 'zone',
visible: false,
source: wmsSource2,
extent: [952014.59,5571269.68,1272301.10,5862273.22]
});
...
// in the layers tab, zoom map to layer when zoom icon is clicked
$('.fa-search').on('click', function() {
var layer = layer2;
view.fit(layer.getExtent(), {
duration:1000
});
});
如您所见,现在我在 layer 变量中定义范围。
相反,我希望从 WMS 本身获取它,而不是在我的 js 中重新定义它。
从文档中,我看到我可以在 ol.source.ImageWMS params 选项中设置 BBOX WMS 参数。更好的是,它是由 OL4 自动设置的!
所以,问题是:如果可能,我将如何从这个参数中检索 BBOX?如果这很重要,我将使用 Mapserver 作为 WMS 服务器。
【问题讨论】:
-
嗯,也许我找到了一种可能的解决方案。想知道是否有比解析 GetCapabilities 响应更直接的替代方法。 bl.ocks.org/ThomasG77/5f9e62d3adeb5602d230a6eacbb9c443
-
可能还有其他解决方案,但都需要解析 GetCapabilities 响应,因为没有其他 WMS 操作提供图层的完整范围。
标签: openlayers openlayers-3 wms mapserver