一、概述

在OpenLayers中,地图必须具有一个缩放级别的范围,缩放级别可以用比例尺(scale)或者分辨率(resolution)表示。

比例尺——屏幕上1米代表多少地图坐标单位;分辨率——屏幕上一个像素代表多少地图坐标单位。
两者的转换关系是:scale = resolution * 72 * 39.3701(1米=39.3701英寸,1英寸=72像素)

地图具有一个总的缩放级别,每个图层可以有各自的缩放级别,这样可以控制图层只在合适的级别上显示。

二、缩放级别范围的确定方法

1、比例尺数组或者分辨率数组来确定(相邻两级之间不一定是2倍的关系,可以是任意值)。示例:

resolutions: [1.40625,0.703125,0.3515625,0.17578125,0.087890625,0.0439453125]
scales: [50000000, 30000000, 10000000, 5000000]

2、用最大分辨率(maxResolution)和缩放级别总数(numZoomLevels)确定,相邻两级是2倍关系

2.1最大分辨率的确定方法:

a. 直接指定maxResolution,例如:

maxResolution: 0.17578125

b. 直接指定minScale,例如:

minScale: 50000000

c. 由maxExtent确定(maxResolution需设置为‘auto’),例如:

maxExtent: new OpenLayers.Bounds(-180, -90, 180, 90),
maxResolution: "auto"

2.2 缩放级别总数的确定方法:

a.  直接指定numZoomLevels,例如:numZoomLevels: 5
b.  由最大分辨率和最小分辨率的比值确定,最小分辨率同2.1有三种方法可以确定:

b.1 直接指定minResolution
    b.2 直接指定maxScale
    b.3 由minExtent确定(minResolution需设置为‘auto’)

如果指定的参数过多,导致缩放级别范围不一致时,上述方法顺序决定了OpenLayers确定缩放级别范围的优先级。

转载于:https://www.cnblogs.com/Jeely/p/11038272.html

OpenLayers中地图缩放级别的设置方法相关推荐

  1. google map限制地图缩放级别和显示范围

    google map限制地图缩放级别和显示范围 2010-04-07 11:06:15|  分类: 默认分类|字号 订阅 在使用google地图的时候,很多情况下我们希望只显示地图的一部分并限制地图的 ...

  2. dw怎么修改html框架的宽度,Dreamweaver (dw)cs6中div标签宽度和高度设置方法

    很多用户给小编留言说dw cs6中div标签宽度和高度怎么设置?Dreamweaver cs6中div标签想要设置高度和宽度,该怎么设置呢?今天脚本之家小编就给大家带来Dreamweaver (dw) ...

  3. 百度地图缩放级别与比例尺的关系

    背景 最近做了一个项目,需要用户在缩放百度地图的时候,能根据地图缩放级别以及地图中心坐标,动态更新地图上的标注点(比如根据地图缩放级别以及地图中心坐标动态获取手机屏幕视界范围内的共享单车位置),这时候 ...

  4. C#中Winfrom默认输入法的设置方法

    本文实例讲述了C#中Winfrom默认输入法的设置方法.分享给大家供大家参考.具体分析如下: 在WINFORM中我们经常遇到文本输入框中输入法被禁用或老是变全角输入法等问题,经查阅相关资料,现小结如下 ...

  5. php中session时间,php中session过期时间的设置方法

    php中session过期时间的设置方法 发布时间:2020-04-22 10:21:19 来源:亿速云 阅读:140 作者:小新 今天小编给大家分享的是php中session过期时间的设置方法,相信 ...

  6. Vue+Openlayers实现地图缩放图标等比例缩放

    场景 Vue+Openlayers实现显示图片并分优先级多图层加载: Vue+Openlayers实现显示图片并分优先级多图层加载_BADAO_LIUMANG_QIZHI的博客-CSDN博客 上面实现 ...

  7. 高德地图根据点标记位置自动调整地图缩放级别

    项目场景: 高德地图根据点标记位置自动改变地图缩放 解决方案: 主要是map.setFitView()方法, 官方代码如下: 自适应显示多个点标记-点标记-示例中心-JS API 2.0 示例 | 高 ...

  8. 【转】VS编程,快速折叠或者展开代码到 #region 级别的设置方法。

    在代码比较多的文档中,使用#region进行分功能的区分折叠是一个方便的方法. 如果文档中含有很多个#region标签,想一次全部折叠或者展开,有时是必要的. 这里给出一种设置方法,适用于VS2019 ...

  9. android高德地图自动缩放比例,【Android】高德地图 缩放级别及像素以及地图上的点转化成屏幕上的点...

    /** * 调节地图到正好放置查询范围的所有点 * @param centerLatLng 中心点 * @param range 查询范围(米) */ private void adjustCamer ...

最新文章

  1. ruby中正则表达式最小匹配与最大匹配
  2. 蓝桥杯单片机stc15f2k61s2矩阵按键中断扫描代码
  3. java web 断点上传_使用WebUploader实现分片断点上传文件功能(二)
  4. 移动开发—媒体查询(Media Query)
  5. 【Python-2.7】如何判断对象是否为可迭代?
  6. 雪碧+滑动门,自适应宽度菜单
  7. Java JSON解析教程
  8. C语言的32个关键字怎么背,C语言32个关键字,精心整理带中文翻译
  9. 学习廖雪峰的Git教程
  10. 典型相关分析原理(CCA)
  11. 操作——UE常用快捷键
  12. 局域网IPC入侵心得
  13. TrueType字体文件解析和字体光栅化
  14. python学习之手把手教你将图片变成黑白或彩色字符画(骚操作)
  15. 数据结构c语言版第三版实验四答案,数据结构(C语言版)第三四章习题答案
  16. 矩阵分析与应用-1.10-Hadamard积与Kronecker积
  17. actionscript(as) 项目中 使用 fla 加载 fla
  18. redis事件通知(notify-keyspace-events Ex)
  19. 深度学习(从零开始)
  20. 腾讯云轻量应用服务器搭建跨境电商的方法步骤(非常详细)

热门文章

  1. 怎样在C++Builder中创建使用DLL
  2. Mysql:is not allowed to connect to this MySQL
  3. CFileDialog的基本使用
  4. 【快乐水题】1725. 可以形成最大正方形的矩形数目
  5. 怎样在命令行中使用FTP
  6. ${}和#{}的区别
  7. 树节点的遍历,查找,删除(前序,中序,后序)
  8. STM32开发 -- Visual Studio C++编写串口上位机
  9. stl-vector
  10. 携程基于大数据分析的实时风控体系