【问题标题】:ZoomToExtent OpenLayers 3ZoomToExtent OpenLayers 3
【发布时间】:2014-05-15 15:14:14
【问题描述】:

OpenLayers 2 有一个非常有用的map.zoomToExtent(extent) 功能。 OpenLayers 3中有类似的东西吗?我可以使用source.getExtent() 获得感兴趣的范围,但我不知道如何将该范围应用为“缩放级别”。

【问题讨论】:

标签: openlayers openlayers-3


【解决方案1】:

关闭函数 sfletche 链接到:

var extent = source.getExtent();
map.getView().fitExtent(extent, map.getSize());

2013 年 7 月 23 日编辑

显然fitExtent 已被弃用。应该是ol.View.fit,所以链接这个(未经测试):

var extent = source.getExtent();
map.getView().fit(extent, map.getSize()); 

【讨论】:

  • 感谢@tylerdewitt 的信任。我反应太慢了,所以我会给你一些互联网积分。 :)
  • View 的 fitExtent() 似乎在 3.4 中被弃用了
  • 在 3.7 中替换为 ol.View.fit
  • map.getSize() 是可选的,它是默认值。
  • 您好。我正在尝试使用this.olmap.getView().fit(ext, size, [0, 0, 0, 0], true, false, 0, 15, 2000); 使缩放平滑和动画。它仍然不流畅或动画。有任何想法吗?谢谢(这是OL5)
【解决方案2】:

对于 OpenLayers 4.x,这仍​​然是一个有效的解决方案:

map.getView().fit(source.getExtent(), map.getSize()); 

如果地图上没有点,请确保设置可选的第二个参数以防止控制台错误。

【讨论】:

    【解决方案3】:

    使用 OpenLayers 4.x,我发现以下方法很有用:

    map.getView().setCenter([x, y]); map.getView().setZoom(z);

    其中xyz 是您要缩放到的坐标。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多