Javascript OL3中的分数缩放(平滑缩放)

Javascript OL3中的分数缩放(平滑缩放),javascript,openlayers-3,wms,Javascript,Openlayers 3,Wms,我想将我的Web映射应用程序从OL2升级到OL3,现在我被平滑缩放问题所阻止。在OL2中,我使用了map.fractilzoom功能,因为我的应用程序使用了单个平铺WMS,我需要使用滑块或ZoomBox(OL3中的DragZoom)精确缩放到任何比例 有人能帮我演示一下如何在OL3中获得相同的功能吗 来自德国的感谢和问候 Evgeni T.OpenLayers 3的工作原理与此相反:它支持任何开箱即用的分数缩放级别,但其控件和交互将缩放设置为整数缩放级别。这意味着您可以通过编程方式设置分数缩放级

我想将我的
Web映射应用程序
OL2
升级到
OL3
,现在我被平滑缩放问题所阻止。在
OL2
中,我使用了
map.fractilzoom
功能,因为我的应用程序使用了单个平铺WMS,我需要使用滑块或ZoomBox(OL3中的DragZoom)精确缩放到任何比例

有人能帮我演示一下如何在OL3中获得相同的功能吗

来自德国的感谢和问候


Evgeni T.

OpenLayers 3的工作原理与此相反:它支持任何开箱即用的分数缩放级别,但其控件和交互将缩放设置为整数缩放级别。这意味着您可以通过编程方式设置分数缩放级别:

map.getView().setZoom(9.3);
map.getView().fit(extent, size, {constrainResolution: false});
这也意味着您可以创建不将缩放级别限制为整数的自定义控件和交互。例如,如果希望将视图调整到使用
ol.interaction.DragBox
创建的精确范围,则自定义缩放框交互可能如下所示:

var zoomBox = new ol.interaction.DragBox();
zoomBox.on('boxend', function() {
  map.getView().fit(zoomBox.getGeometry(), map.getSize(),
      {constrainResolution: false});
});

更新:最新的OpenLayers版本(v3.20.0及更高版本)在使用滚轮或收缩缩放时不再限制缩放级别。

非常感谢!它有效。:)使用zoomBox.getGeometry()进行放大非常简单。但仅仅是缩小就需要对zoomBox几何体进行更多的数学运算。这里有一个高级解决方案,包括放大、缩小和一些最小框大小、边框等的示例。