相对最大和最小缩放-Openlayers

相对最大和最小缩放-Openlayers,openlayers,Openlayers,我目前正在从事一个项目,目标是使用静态图像层来显示实时数据。我们已经走得很远了,事情进展得很顺利。但我注意到的一个问题是,例如,地图上最小缩放时显示的ImageLayer的大小与浏览器的分辨率有关。我在Openlayers文档中做了一些研究,但我找不到解决这个问题的确切方法。初始化地图时,在视图中将分辨率设置为1,但仍有一些浏览器分辨率在完全缩小时不显示整个地图 我们使用的是静态图像层,其中投影是我们在地图上使用的自定义坐标系 这有什么办法吗?因此,minZoom和maxZoom与浏览器分辨率相

我目前正在从事一个项目,目标是使用静态图像层来显示实时数据。我们已经走得很远了,事情进展得很顺利。但我注意到的一个问题是,例如,地图上最小缩放时显示的ImageLayer的大小与浏览器的分辨率有关。我在Openlayers文档中做了一些研究,但我找不到解决这个问题的确切方法。初始化地图时,在视图中将分辨率设置为1,但仍有一些浏览器分辨率在完全缩小时不显示整个地图

我们使用的是静态图像层,其中投影是我们在地图上使用的自定义坐标系


这有什么办法吗?因此,minZoom和maxZoom与浏览器分辨率相关?

如OpenLayers网站所述:

zoom
选项是指定地图分辨率的方便方法。可用的缩放级别由
maxZoom
(默认值:28)、
zoomFactor
(默认值:2)和
max resolution
(默认值的计算方式使投影的有效范围适合256x256像素的分幅)。从分辨率为每像素
maxResolution
单位的缩放级别0开始,通过将上一个缩放级别的分辨率除以
zoomFactor
,计算后续缩放级别,直到达到缩放级别
maxZoom

因此,当缩放在0-28之间时,您可以使用
view.getResolutionForZoom(zoom)
查找最小和最大分辨率或任何缩放分辨率。您只需要调整图层的缩放级别,在加载图层时计算分辨率并设置其属性

但这可能不像你说的那么准确。还有另一种方法,首先,获取图层的范围并将地图适配到图层。有一种方法可用于查看.fit(geometryOrExtent,opt_options)您可以找到更多信息。然后为地图的
maxResolution
设置当前分辨率。
在此之后,您可以确保整个层都可见


为了更好地进行贴图装箱,可以将图层范围的缩放数量减少一到两个。它使图层更适合地图。

不错,我实际上错过了视图模块上的功能。这绝对可以用来计算相对缩放。前几天我还尝试了fit函数,但由于某种原因,它弄乱了我们的簇向量层,但由于我们正在移除它,我认为这将是最好的解决方案。调用rendercomplete后的view.fit()。谢谢你的真知灼见。