在Openlayers中异步更新WMS层

时间:2012-09-24 11:43:34

标签: ajax asynchronous openlayers geoserver

我在Openlayers地图上有一个WMS图层。此WMS图层显示某人在地图上的位置。因此,需要在人员移动时更新图层。如果我以某个预定义的时间间隔调用WMS图层的redraw()函数,则会正确更新。但问题是:在每个时间间隔,WMS层都会闪烁。我想解决这个问题。

有没有办法像ajax或任何异步方式更新WMS层,这样用户就不会觉得在每个时间间隔都会发生内部不必要的事情。任何其他替代方案也受到高度赞赏。

1 个答案:

答案 0 :(得分:1)

最后可以解决问题。我无法通过WMS层找到任何方法来实现这一目标。相反,我可以用Vector层实现这一点。

现在我有一个带有刷新策略的矢量图层,如下所示:

strategies: [new OpenLayers.Strategy.BBOX(), 
                                 new OpenLayers.Strategy.Refresh({ interval: 5000,
                                     refresh: function() {
                                         myVectorLayer.refresh({force:true})
                                     }

                                  })
            ]

这将有助于刷新矢量图层'myVectorLayer'每5秒刷新一次。

我希望这将有助于解决任何未来的问题。