我想将Page.ClientScript.RegisterStartupScript(this.GetType(), "alert5", "alert6();", true);
从Web-Mapping-Application
升级为OL2
,现在我被一个平滑缩放问题所阻止。在OL3
我使用OL2
功能,因为我的应用程序使用单个Tile WMS,我需要使用滑块或ZoomBox精确缩放到任何比例(DragZoom in OL3)。
任何人都可以帮助我并展示如何在OL3中获得相同的功能吗?
感谢德国的最诚挚的问候
Evgeni T。
答案 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及更高版本)不再限制缩放级别。