Openlayers 3 更改openlayers3缩放灵敏度
我目前正在使用OL3和4个缩放级别的平铺贴图(ol.layer.Tile)。我希望缩放更加敏感,允许8个缩放级别而不是4个,每个平铺级别2个。有什么想法吗?根据,您可以使用视图对象中的多个属性管理缩放设置:Openlayers 3 更改openlayers3缩放灵敏度,openlayers-3,Openlayers 3,我目前正在使用OL3和4个缩放级别的平铺贴图(ol.layer.Tile)。我希望缩放更加敏感,允许8个缩放级别而不是4个,每个平铺级别2个。有什么想法吗?根据,您可以使用视图对象中的多个属性管理缩放设置: maxResolution:用于确定分辨率约束的最大分辨率。它与minResolution(或 maxZoom)和zoomFactor。如果未指定,则以这种方式计算 投影的有效范围适合256x256 px的平铺。如果 投影为球形墨卡托(默认),然后为maxResolution 默认值为40
- maxResolution:用于确定分辨率约束的最大分辨率。它与minResolution(或 maxZoom)和zoomFactor。如果未指定,则以这种方式计算 投影的有效范围适合256x256 px的平铺。如果 投影为球形墨卡托(默认),然后为maxResolution 默认值为40075016.68557849/256=156543.03392804097
- minResolution:用于确定分辨率约束的最小分辨率。它与maxResolution(或 minZoom)和zoomFactor。如果未指定,则假定为29 缩放级别(系数为2)。如果投影是球形的 墨卡托(默认值),然后minResolution默认为 40075016.68557849/256/数学功率(2,28)=0.0005831682455839253
- maxZoom:用于确定分辨率约束的最大缩放级别。它与最小缩放(或 最大分辨率)和缩放因子。默认值为28。注意,如果 还提供了最小分辨率,它优先于最大缩放
- 最小缩放:用于确定分辨率约束的最小缩放级别。它与最大缩放(或最小分辨率)和 动物因子。默认值为0。请注意,如果还提供了maxResolution, 它优先于最小缩放
- 缩放因子:用于确定分辨率约束的缩放因子。默认值为2
var source = new ol.source.XYZ({
// your source configuration here
});
var resolutions = source.getTileGrid().getResolutions();
var map = new ol.Map({
layers: [
new ol.layer.Tile({
source: source
})
],
target: 'map',
view: new ol.View({
center: [0, 0],
zoom: 0,
maxResolution: resolutions[0],
minResolution: resolutions[resolutions.length-1],
zoomFactor: 1.5
})
});
我正在使用ol.source.xyzing ol.source.xyz您仍然需要设置ol.View对象。我相信修改那个对象可以改变地图的缩放级别。@tfidelis是对的。我编辑了答案中的示例,以便更好地解决问题。@amitdar如果答案解决了您的问题,请接受它。