ZoomToExtent OpenLayers 3

时间:2014-05-15 15:14:14

标签: openlayers openlayers-3

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

3 个答案:

答案 0 :(得分:49)

关闭链接到的函数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()); 

答案 1 :(得分:4)

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

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

如果地图上没有任何点,请务必设置可选的第二个参数以防止出现控制台错误。

答案 2 :(得分:1)

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

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

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