openlayer4中,地图通过extent缩放至范围。
//地图缩放,通过extent范围 extent数据类型为int数组,不能为字符串,如果为字符串则先转换为int数组。
function zoomToExtent(extent) {
var MapZoom = extent;
var mapPadding = [20, 10, 20, 10];
// alert(isArrayFn(extent));
if (isArrayFn(extent) == false) {
var MapZoomString = $(this).attr("zoom").split(",");
MapZoom = MapZoomString.map(function (data) {
return +data;
});
} else {
mapPadding = [120, 110, 120, 410];
}
//添加map.getSize(),可以让地图在正常的缩放级别内,而不是出现地图级别小数。
map.getView().fit(MapZoom,map.getSize(), {
constrainResolution: false,
earest: false,
padding: mapPadding
});
// 以下为另外一种方法
//var r = map.getView().getResolutionForExtent(extent, map.getSize());
//map.getView().setResolution(r);
//map.getView().setCenter(ol.extent.getCenter(extent));
}
转载自:https://blog.csdn.net/liuxu1875/article/details/88349308