gpt4 book ai didi

javascript - OpenLayers刷新策略问题

转载 作者:数据小太阳 更新时间:2023-10-29 04:39:16 24 4
gpt4 key购买 nike

我正在开发一个应用程序,其中一部分使用 OpenLayers(调用 Geoserver 服务的 WMS)来显示一些经常更新的数据(船只轨迹 - 或者更具体地说,一系列点)。

我想以设定的时间间隔更新此船只轨迹 - OpenLayers.Strategy.Refresh 似乎是执行此操作的最合适方法。我稍微修改了 wms.html 示例 (OpenLayers 2.11) 来尝试这个,即:

underway = new OpenLayers.Layer.WMS("Underway Data",
"http://ubuntu-geospatial-server:8080/geoserver/underway/wms",
{'layers': 'underway:ss2011_v03', transparent: true, format: 'image/gif'},
{isBaseLayer: false},
{strategies : [new OpenLayers.Strategy.Refresh({interval: 6000})]}
);

map.addLayers([layer, underway]);

据我所知,这应该按原样工作(即每 6 秒刷新进行中层),但是没有任何反应。基础 WMS 正在更新 - 如果我手动刷新 map ,将显示更新后的数据。

我确信我遗漏了一些相当明显的东西,我们将不胜感激任何帮助。我在 Firebug 或其他任何东西中都没有收到任何错误,它只是什么也没做。

最佳答案

事实证明,据我所知,您无法在 WMS 服务上执行刷新策略。所以我将我的代码转换为使用 WFS,并且它按预期工作。代码:

        underway = new OpenLayers.Layer.Vector("WFS", {
strategies: [new OpenLayers.Strategy.BBOX(), new OpenLayers.Strategy.Refresh({interval: 4000, force: true})],
protocol: new OpenLayers.Protocol.WFS({
url: "http://ubuntu-geospatial-server:8080/geoserver/wfs",
featureType: "ss2011_v03",
featureNS: "http://csiro.au/underway",
geometryName: "position"
});

请注意,我还需要一个 BBOX 策略。我发现的另一个问题是我需要手动指定几何名称,否则它将默认为“the_geom”,这对我的图层不存在。

关于javascript - OpenLayers刷新策略问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7631357/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com