OpenLayers 2 有一个非常有用map.zoomToExtent(extent)
的特性。OpenLayers 3中有类似的东西吗?我可以通过 获得感兴趣的范围source.getExtent()
,但我不知道如何将该范围应用为“缩放级别”。
问问题
28115 次
3 回答
50
Going off the function sfletche linked to:
var extent = source.getExtent();
map.getView().fitExtent(extent, map.getSize());
EDIT July 23, 2013
Apparently fitExtent
is deprecated. Should be ol.View.fit
, so something linke this (untestesd):
var extent = source.getExtent();
map.getView().fit(extent, map.getSize());
于 2014-05-16T20:43:45.260 回答
4
对于 OpenLayers 4.x,这仍然是一个有效的解决方案:
map.getView().fit(source.getExtent(), map.getSize());
如果地图上没有点,请确保设置可选的第二个参数以防止控制台错误。
于 2018-02-02T14:54:32.957 回答
1
在 OpenLayers 4.x 中,我发现以下方法很有用:
map.getView().setCenter([x, y]);
map.getView().setZoom(z);
其中x
, y
,z
是您要缩放到的坐标。
于 2018-10-12T08:46:14.023 回答