Openlayers 3 更改openlayers3缩放灵敏度

Openlayers 3 更改openlayers3缩放灵敏度,openlayers-3,Openlayers 3,我目前正在使用OL3和4个缩放级别的平铺贴图(ol.layer.Tile)。我希望缩放更加敏感,允许8个缩放级别而不是4个,每个平铺级别2个。有什么想法吗?根据,您可以使用视图对象中的多个属性管理缩放设置: maxResolution:用于确定分辨率约束的最大分辨率。它与minResolution(或 maxZoom)和zoomFactor。如果未指定,则以这种方式计算 投影的有效范围适合256x256 px的平铺。如果 投影为球形墨卡托(默认),然后为maxResolution 默认值为40

我目前正在使用OL3和4个缩放级别的平铺贴图(ol.layer.Tile)。我希望缩放更加敏感,允许8个缩放级别而不是4个,每个平铺级别2个。有什么想法吗?

根据,您可以使用视图对象中的多个属性管理缩放设置:

  • 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
为XYZ SOUREC的每个平铺网格缩放级别获取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如果答案解决了您的问题,请接受它。