openlayer限制地图拖动的范围-离线地图中

本文介绍如何在仅有特定区域离线地图瓦片的情况下,通过设置地图的拖动范围来避免显示空白区域。以中国地图为例,详细说明了如何确定地图范围的四个关键坐标值,并展示了具体的代码实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言:

       在项目中会遇到我们只有某一个区域的离线地图瓦片的情况,就需要限制地图的拖动范围。比如我这里就因为只下载了中国地图的离线瓦片,需求要求不能出现地图留白情况。

目录:

官方提供的方法:入口

具体介绍:

extent 后面加一个范围的数组:

 获取四个值的技巧:比如获取中国地图

1、我在左右上下各获取了一个点:

2、min  x  : 他们四个点的经度的最小值  也就是这里的:73.32783475401652

3、max  x :  他们四个点的经度的最大值  也就是这里的:135.16017906160056

4、min  y  : 他们四个点的纬度的最小值  也就是这里的:19.4243521114706

5、manx y  : 他们四个点的纬度的最小值  也就是这里的:53.83501005646246

具体使用:


官方提供的方法:入口

具体介绍:

extent 后面加一个范围的数组:

Extent{Array.<number>}
An array of numbers representing an extent: [minx, miny, maxx, maxy].

 获取四个值的技巧:比如获取中国地图

1、我在左右上下各获取了一个点:

东北-北:135.16017906160056;48.42584205311961
海南-南:110.13067151354701;19.4243521114706
新疆-西:73.32783475401652;39.38116474774065
东北-东:122.77737542470925;53.83501005646246

2、min  x  : 他们四个点的经度的最小值  也就是这里的:73.32783475401652

3、max  x :  他们四个点的经度的最大值  也就是这里的:135.16017906160056

4、min  y  : 他们四个点的纬度的最小值  也就是这里的:19.4243521114706

5、manx y  : 他们四个点的纬度的最小值  也就是这里的:53.83501005646246

具体使用:

 this.map = new Map({
        layers: layers,
        target: "map",
        view: new View({
          center: this.center,
          projection: this.projection,
          zoom: this.centerSize,
          maxZoom: 17,
          minZoom: 8,

           
          //添加这个范围 经度-最小,纬度-最小,经度-最大,纬度-最大
          extent: [73.32783475401652, 19.4243521114706, 135.16017906160056, 53.83501005646246],



        }),
      });