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

时间:2016-10-04 10:53:59

标签: javascript openlayers-3 wms

我想将Page.ClientScript.RegisterStartupScript(this.GetType(), "alert5", "alert6();", true); Web-Mapping-Application升级为OL2,现在我被一个平滑缩放问题所阻止。在OL3我使用OL2功能,因为我的应用程序使用单个Tile WMS,我需要使用滑块或ZoomBox精确缩放到任何比例(DragZoom in OL3)。

任何人都可以帮助我并展示如何在OL3中获得相同的功能吗?

感谢德国的最诚挚的问候

Evgeni T。

1 个答案:

答案 0 :(得分:1)

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及更高版本)不再限制缩放级别。