打开图层3检测WMS Feed是否无法正常工作

时间:2016-02-24 18:11:38

标签: openlayers-3 wms

我有一个Open Layers 3实现,它从WMS数据源中读取数据。

我注意到如果WMS数据源出现故障,我在浏览器端没有出现任何错误,它只是没有收到任何图层。

打开图层3中是否有办法检测WMS调用是否返回任何内容?

我已尝试过实验函数getState(),但即使在错误的WMS调用中也会返回就绪

1 个答案:

答案 0 :(得分:0)

我构建了一个函数来通过Ajax从GeoServer获取图层数据并解析响应,也许你可以添加"错误"配置以提醒用户。

function getDataFromGeoServer(callback) {
    $.ajax({
        url: "http://localhost:8080/geoserver/ows?service=wms&version=1.1.0&request=GetCapabilities",
        type: 'GET',
        success: function(response) {
            var parser = new ol.format.WMSCapabilities();
            var result = parser.read(response);

            var layersArray = result.Capability.Layer.Layer;
            layersNameArray = [];

            for(i=0;i<layersArray.length;i++){
                layersNameArray.push(layersArray[i].Name)
            }

            callback(layersNameArray);

        }
        error: function() {
            /////// ADD ERROR CONFIG
        }
    });
}