我是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);
答案 0 :(得分:1)
也许您可以使用其他一些技术(jQuery ajax,servlet,...)来探测给定的地图图块网址(您选择的一种)并分析结果。如果结果是HTML并显示一些消息,甚至不运行OpenLayers代码? 看起来很疯狂看到这些网站,至少他们让重要的人保持活力......