2012-09-24 45 views
1

我在Openlayers地图上有WMS层。这个WMS图层显示了某个人在地图上的位置。所以,该层需要随着人的移动而更新。如果我以某个预定义的时间间隔调用WMS图层的redraw()函数,它会被正确更新。但问题是:在每个时间间隔内,WMS层都会闪烁。我想解决这个问题。Openlayers中WMS层的异步更新

是否有任何方法来更新像AJAX或任何异步方式的WMS层,以便用户不会觉得在每个时间间隔内都发生了内部不必要的事情。任何其他选择也非常感谢。

回答

1

终于可以解决问题了。我无法找到任何通过WMS层实现这一点的方法。相反,我可以通过矢量图层来实现这一点。

现在我与刷新策略矢量图层如下:

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

            }) 
      ] 

这将有助于刷新矢量图层“myVectorLayer”刷新每5秒。

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