0
我有一個Open Layers 3實現從WMS數據饋送中讀取數據。打開圖層3檢測WMS Feed是否沒有工作
我注意到,如果WMS數據饋送關閉,我不會在瀏覽器端收到任何錯誤,它只是不會收到任何圖層。
在Open Layer 3中有沒有辦法檢測WMS調用是否不返回任何內容?
我試過實驗功能getState()
,但是即使在壞的WMS調用中,也總是返回準備好。
我有一個Open Layers 3實現從WMS數據饋送中讀取數據。打開圖層3檢測WMS Feed是否沒有工作
我注意到,如果WMS數據饋送關閉,我不會在瀏覽器端收到任何錯誤,它只是不會收到任何圖層。
在Open Layer 3中有沒有辦法檢測WMS調用是否不返回任何內容?
我試過實驗功能getState()
,但是即使在壞的WMS調用中,也總是返回準備好。
我構建了一個函數,通過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
}
});
}
是的,看起來很有用,我會試試看 –
您如何嘗試發送WMS'GetCapabilities'請求?如果你得到了迴應,那麼你的服務器沒問題。否則,你可以做出相應的反應。想法? –
這也是我的想法。我希望有更直接的解決方案。 –