我知道很多其他话题都讨论过这个问题。但我仍然无法为我的问题找到解决方案。没有收据对我有用。
问题很简单。我在Openlayers3(v3.17.1)地图上有一些功能。我应该可以缩放到我想要的任何功能。
缩放前:
缩放后:
正如我所提到的,我使用的是版本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);
答案 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());
假设您在某种程度上具有您的功能或功能的范围