我创建了一个openlayers地图,其最小缩放级别应固定为2
。
如果包含地图的<div>
的大小大约为1000 px x 750 px
,则此方法很好:
现在,我们的容器尺寸变化很大。因此,我们有了一个容器div,仅说700px x 300px
,结果为:
现在,我希望在地图中具有与第一张图片相同的视图,在第二个较小的容器尺寸/视口中也是如此。
通常,我会调整缩放级别,但是如果设置了最小缩放,则必须禁用地图的平移。
我希望缩放级别与容器大小无关,但并非如此,因此我需要找到一种方法来根据maxResolution限制显示的数据,并相应地限制平移。
现在我找不到合适的方法来做到这一点。有人可以为我提供函数或公式来计算openlayers map(view)的maxResolution属性,因此无论容器/ target(div)的大小如何,显示的地图范围始终是相同的?
答案 0 :(得分: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() });
如果您需要一个例子或者只是简单地问一下,这是一种方法