function zoomToExtent(extent) {
var MapZoom = extent;
var mapPadding = [20, 10, 20, 10];
if (isArrayFn(extent) == false) {
var MapZoomString = $(this).attr("zoom").split(",");
MapZoom = MapZoomString.map(function (data) {
return +data;
});
} else {
mapPadding = [120, 110, 120, 410];
}
map.getView().fit(MapZoom,map.getSize(), {
constrainResolution: false,
earest: false,
padding: mapPadding
});
}
以下为2021年6月更新,感觉更适合于ol4的extent缩放,关键点是根据extent构建一个polygon,然后缩放到这个多边形,padding可以更好的在地图中控制位置。
let extent = [value1,value2, value3, value4];
let polygon = new ol.geom.Polygon([[[value1, value2], [value3, value2], [value3, value4], [value1, value4], [value1, value2]]]);
map.getView().fit(polygon, { padding: [120, 450, 120, 120] });