OpenLayers 2有一个非常有用的map.zoomToExtent(extent)
功能。 OpenLayers 3中有类似的东西吗?我可以通过source.getExtent()
获得感兴趣的程度,但我无法弄清楚如何将该范围应用为“缩放级别”。
答案 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);
其中x
,y
,z
是您要缩放的坐标。