OpenLayers 按百分比增加或减少范围

标签 openlayers openlayers-5 angular-openlayers openlayers-6

我有一张 map ,上面有 map 项,当我缩放到这些 map 项时,用户可以设置缩放缓冲区的首选项。

我不确定 OL 中是否有执行此操作的内置方法...我查看了文档但什么也看不到...不确定我是否错过了它?

zoomToSelectedFeatures() {
view.extent = MapOverlay.getSource().getExtent();
map.getView().fit(view.extent, MapValues.map.getSize());
}

想知道是否有一种方法可以插入一个数字,例如 20%,从而使缩放比例增大 20%?

最佳答案

fit 方法有一个 padding 选项,但它没有以百分比表示,因此您需要根据 map 大小计算填充。更简单的方法可能是通过转换为几何来缩放范围,因为 fit 可以采用范围或几何

geom = ol.geom.Polygon.fromExtent(view.extent)
geom.scale(1.2);
map.getView().fit(geom, {size: MapValues.map.getSize()});

关于OpenLayers 按百分比增加或减少范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60510418/

相关文章:

javascript - 带标签的 Openlayer 外部图形

javascript - Openlayers如何更新 map 移动事件上的叠加位置

popup - 如何在鼠标悬停和单击时在 OpenLayers 5 中实现功能弹出窗口

Openlayers ol.style.Text 具有多种颜色

angular - Openlayers 4.6.5 和 Angular 6 无法删除像素处绘制的形状

javascript - 将其传递到 map 上的点击处理程序中

angular - 将 OpenLayers 4 与 Angular 5 结合使用

javascript - Javascript 中国家/地区的中心坐标

javascript - 单击开放层标记上的功能版本 5