ZoomToExtent OpenLayers 3
OpenLayers 2有一个非常有用的ZoomToExtent OpenLayers 3,openlayers,openlayers-3,Openlayers,Openlayers 3,OpenLayers 2有一个非常有用的map.zoomToExtent(extent)特性。OpenLayers 3中有类似的东西吗?我可以通过source.getExtent()获得感兴趣的范围,但我不知道如何将该范围作为“缩放级别”应用。退出函数sfletche链接到: var extent = source.getExtent(); map.getView().fitExtent(extent, map.getSize()); 编辑2013年7月23日 显然,fitExtent已被弃用
map.zoomToExtent(extent)
特性。OpenLayers 3中有类似的东西吗?我可以通过source.getExtent()
获得感兴趣的范围,但我不知道如何将该范围作为“缩放级别”应用。退出函数sfletche链接到:
var extent = source.getExtent();
map.getView().fitExtent(extent, map.getSize());
编辑2013年7月23日
显然,fitExtent
已被弃用。应该是ol.View.fit
,所以有东西链接到这个(untestsd):
对于OpenLayers 4.x,这仍然是一个有效的解决方案:
map.getView().fit(source.getExtent(), map.getSize());
如果地图上没有点,请确保设置可选的第二个参数以防止控制台错误。对于OpenLayers 4.x,我发现以下方法很有用:
map.getView().setCenter([x,y]);
map.getView().setZoom(z);
其中
x
,y
,z
是要缩放到的坐标 您是否尝试过@sfletche,结果证明这是正确的答案。如果你想把你的评论改成一个答案,我会选择它,这样你就可以获得很棒的互联网积分。谢谢@tylerdwitt的推荐。我反应太慢,所以我会给你一些互联网积分视图的fitExtent()在3.4中似乎被弃用,在3.7中被替换。map.getSize()是可选的,它是默认值。您好。我正在尝试使用this.olmap.getView().fit(ext,size,[0,0,0,0],true,false,0,152000)代码>使缩放平滑并设置动画。它仍然不是平滑的或动画的。有什么想法吗?谢谢(我是OL5)
map.getView().fit(source.getExtent(), map.getSize());