保护OpenLayers免受政府关闭

时间:2013-10-04 23:45:04

标签: openlayers geoserver

我是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);

1 个答案:

答案 0 :(得分:1)

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