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

You may also like...