如何缩放Openlayers3(v3.17.1)地图的任何功能

时间:2016-07-18 13:57:03

标签: openlayers-3

我知道很多其他话题都讨论过这个问题。但我仍然无法为我的问题找到解决方案。没有收据对我有用。

问题很简单。我在Openlayers3(v3.17.1)地图上有一些功能。我应该可以缩放到我想要的任何功能。

缩放前:

enter image description here

缩放后:

enter image description here

正如我所提到的,我使用的是版本v3.17.1。

var features = myLayer.getSource().getFeatures();
var myFirstFeature = features[0];

选项1:

map.zoomToExtent(feature.geometry.getBounds());

选项2:

    var bounds = f.geometry.getBounds().clone();
    this._map.zoomToExtent(bounds,false);

1 个答案:

答案 0 :(得分:2)

有很多方法可以做到这一点,例如,如果您只想缩放到一个功能,并且想要定义缩放级别,可以使用它:

var ext=feature.getGeometry().getExtent();
var center=ol.extent.getCenter(ext);
map.setView( new ol.View({
    projection: 'EPSG:4326',//or any projection you are using
    center: [center[0] , center[1]],//zoom to the center of your feature
    zoom: 12 //here you define the levelof zoom
}));

还有另一种方法可以缩放到更多只有一个功能:

map.getView().fit(extent, map.getSize());

假设您在某种程度上具有您的功能或功能的范围