我有一个应用程序,每 5 秒将点生成到数据库中,我有一个从这些点生成 PNG 图块的地理服务器。我的应用程序的最后一部分基于 OpenLayers v5.3,并在 WMS 图层上显示来自 GeoServer 的切片。
由于新切片意味着 WMS 切片图层的新范围,因此我第一次更新图层的范围以显示切片。这样做会导致"闪烁图层",因此每次更新其范围时,该图层都会刷新所有切片。
我目前针对此问题的解决方案是为每个新数据块创建新的 WMS 层,但这会给我生成很多数据,并使我的应用程序在一段时间后滞后变慢。我通过从汇总范围创建一个大图层,创建了一些逻辑来在 2 分钟后合并图层,但这也会导致不必要地引用切片和请求 Geoserver。
有没有办法在不重新请求已加载的切片的情况下合并 WMS 图层?或者我可以在不重新搜索所有切片而仅重新搜索新切片的情况下更新其范围吗?
感谢您的帮助!
从地理服务器加载新数据时,图层将变得不可见,加载数据时图层将变为可见。这是我从你的问题中理解的。但是 openlayers 图像图层不会从地图中隐藏-删除最后一个图像。我认为你的代码是不可靠的。