我认为一切都在问题中,我正在寻找一种方法将地图的可滚动区域固定为其图层的大小。
在我的情况下,我使用的静态图像宽度为2722像素,高度为3850像素。
我也检查了“范围”属性,但为了我的目的,我无法真正理解如何使其工作。
就是这样,不能等待一些线索或其他答案:)
度过愉快的一天。代码。
编辑:
var extent = [0, 0, 2722, 3850];
var projection = new ol.proj.Projection({
code: 'xcd-image',
units: 'pixels',
extent: extent
});
var map = new ol.Map({
interactions: ol.interaction.defaults({mouseWheelZoom: false, doubleClickZoom: false}),
layers: [
new ol.layer.Image({
source: new ol.source.ImageStatic({
url: 'http://www.tarsis.paris/bundles/tarsisfront/carte.png',
projection: projection,
imageExtent: extent
})
})
],
controls: [],
target: 'map',
view: new ol.View({
projection: projection,
center: ol.extent.getCenter(extent),
zoom: 3
})
});
答案 0 :(得分:0)
OpenLayers尚不支持您希望实现的目标。请参阅其中一位OL开发人员的this answer。
正如上面引用的问题中的注释所示,您可以通过添加minZoom
参数来限制缩放级别。您必须更改代码的这一部分:
controls: [],
target: 'map',
view: new ol.View({
projection: projection,
center: ol.extent.getCenter(extent),
zoom: 3
})
到此:
target: 'map',
view: new ol.View({
projection: projection,
center: ol.extent.getCenter(extent),
zoom: 3,
minZoom: 2
})