我有一个Open Layers 3实现,它从WMS数据源中读取数据。
我注意到如果WMS数据源出现故障,我在浏览器端没有出现任何错误,它只是没有收到任何图层。
打开图层3中是否有办法检测WMS调用是否返回任何内容?
我已尝试过实验函数getState()
,但即使在错误的WMS调用中也会返回就绪。
答案 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
}
});
}