0

我创建了一个 openlayers 地图,其最小缩放级别应固定为2.

<div>如果包含地图的 的大小约为,则此方法可以正常工作1000 px x 750 px

在此处输入图像描述

现在我们的容器大小变化很大。因此,我们有一个容器 div,也就是说,只有 ,700px x 300px这会导致:

在此处输入图像描述

现在,我想拥有与第一张图片相同的地图视图,也在第二张较小的容器尺寸/视口中。

通常我会调整缩放级别,但如果设置了最小缩放,我必须禁用地图的平移。

我希望缩放级别与容器大小无关,但事实并非如此,因此我需要找到一种方法来根据 maxResolution 限制显示的数据,并相应地限制平移。

现在我找不到合适的方法来做到这一点。任何人都可以为我提供一个关于如何计算 openlayers 地图(视图)的 maxResolution 属性的函数或公式,因此无论容器/目标(div)大小如何,显示的地图范围总是相同的?

4

1 回答 1

2

您不是在寻找设置 maxResolution 或 minResolution 的方法

这就是你需要的http://openlayers.org/en/latest/apidoc/ol.View.html#fit

适合您的地图

minLongitude: -80
maxLongitude: 80
minLatitude: -180
maxLatitude: 180

示例:根据您想要的视图调整第一个数组 => [minx, miny, maxx, maxy]。我的坐标在EPSG:4326

map.getView().fit([-80, -180, 80, 180], { padding: [0, 0, 0, 0], size: map.getSize() });

如果您需要示例或不了解,这是一种方法,只需询问

于 2018-06-26T13:59:28.273 回答