我是 OpenLayers 的新手,正在开发现有的应用程序。它在同一张地图上汇集了几个不同的图层,其中一个图层访问了 USGS 地图服务 StreamStats。由于当前的政府关闭,该流当前返回的不是地图图块,而是一个 HTML 页面,上面写着“由于联邦政府关闭,usgs.gov 和大多数相关网站不可用”。
我们设置它的方式是显示“正在加载数据...”弹出窗口并将 StreamStats 添加为矢量图层。当它初始化时,我们清除弹出窗口。然而,因为 OpenLayers 只是返回一个 HTML 页面,它似乎永远不会初始化并且弹出窗口就在那里。如果新图层从地图服务获取无用数据,我将如何向 OpenLayers 添加事件处理程序以更好地处理错误?
这是一个代码片段:
streamStatsKmlLayer = new OpenLayers.Layer.Vector("StreamStats Basin", {
projection: new OpenLayers.Projection("EPSG:4326"),
strategies: [new OpenLayers.Strategy.Fixed()],
protocol: new OpenLayers.Protocol.HTTP({
url: sskmlurl,
format: new OpenLayers.Format.KML({
maxDepth: 0,
extractStyles: true,
extractAttributes: false
})
})
});
map.addLayer(streamStatsKmlLayer);