我相信这可能是一个错误,但会先在这里查看。在只有两个图层的简单地图中,由MapServer生成的Google图层和ImageWMS图层,当只需要生成一个请求时,简单缩放会创建8到10个WMS请求。你可以在这里看到这个(过滤网络选项卡" mapserv64")
https://www2.greenwoodmap.com/fremontid/olgm.html
关闭Google图层googleLayer.setVisible(false)
更糟糕的是,产生16到18个请求。
每个WMS请求都适用于将其缩放一点的图像。有点像动画缩放,为每个"步骤"制作WMS请求。我正在使用ol3gm 0.14。为了进行比较,这里是没有使用ol 4.1.1的Google图层的相同地图,每个缩放仅生成一个WMS请求。
https://www2.greenwoodmap.com/fremontid/olgm0.html
另一个例子是使用ol3gm 0.14但是使用TileWMS而不是ImageWMS(正确)在关闭Google图层时放大请求9个图块。当Google图层打开时,它似乎会请求一些额外的空白图块。
https://www2.greenwoodmap.com/fremontid/olgmTile.html
所以我错过了缩放设置或这是一个错误吗?
答案 0 :(得分:1)
OLGM基于OpenLayers。它会监听地图视图分辨率和中心变化,以调整Google地图的地图。
在OpenLayers 3.20.0之前,如果用户(例如)使用鼠标滚动按钮缩放地图,则视图"change:resolution"
事件会触发一次。自3.20.0起,多个事件在动画时触发。这使得OLGM尝试多次重新渲染切片而不是仅重复一次。这可能正是您所经历的。
请在GitHub上查看以下issue,看看它是否与您的问题有关。
与此同时,您可以降级到olgm 0.12.0并查看是否可以解决您的问题。该版本使用OpenLayers 3.19.1。