我是靠谱客的博主 还单身万宝路,最近开发中收集的这篇文章主要介绍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));
}

以下为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] });

最后

以上就是还单身万宝路为你收集整理的openlayer4中,地图通过extent缩放至范围。的全部内容,希望文章能够帮你解决openlayer4中,地图通过extent缩放至范围。所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(74)

评论列表共有 0 条评论

立即
投稿
返回
顶部