我想把我的Web-Mapping-Application从OL2升级到OL3,现在我遇到了一个平滑缩放的问题。在OL2中,我使用了map.fractionalZoom功能,因为我的应用程序使用单一的Tile WMS,我需要使用滑块或ZoomBox (DragZoom In OL3)精确缩放到任何比例。
有人能帮助我并向我展示如何在OL3中获得相同的功能吗?
感谢并向德国致以最良好的问候
Evgeni T.
发布于 2016-10-05 06:55:13
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及更高版本)在使用轮或捏变焦时不再限制缩放级别。
https://stackoverflow.com/questions/39850427
复制相似问题