1

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

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

4

1 回答 1

1

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

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

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

                                  })
            ]

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

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

于 2012-09-25T11:45:13.430 回答