openlayers6【七】地图控件controls详解
文章目录
- 1. controls 简述
- 2. 常见的 controls 控件
- 3. 控件的使用
- 3.1 fullscreen 全屏控件
- 3.2 mouseposition 鼠标位置控件
- 3.3 overviewmap 地图全局视图(鹰眼图)控件
- 3.4 scaleline 比例尺控件
- 3.5 zoom 缩放控件
- 3.6 zoomslider 缩放滑块刻度控件
- 4. 总结
1. controls 简述
上篇文章我们将了在地图上的交互(interaction),那些都是一些隐性的需要去使用才能知道存在有这样一个东西,就像彩蛋一样。这篇我们主要讲地图上的控件(controls),这些可以说都是显性的东西,如果设置了,打开地图页面就能够看到的东西。场景
跟 interaction交互一样,可以看到官网的描述:最初添加到地图的控件。如果未指定, module:ol/control~defaults则使用。也就是说这个属性 不是必须存在
的,默认使用的是control~defaults
内容,并且是已 Array
数组形式存在,也就是说可以像图层和交互一样,可以多个控件功能承载在地图上。
2. 常见的 controls 控件
controldefaults,地图默认包含的控件,包含缩放控件和旋转控件;
- fullscreen,全屏控件,用于全屏幕查看地图;
- mouseposition,鼠标位置控件,显示鼠标所在地图位置的坐标,可以自定义投影;
- overviewmap,地图全局视图控件(鹰眼图);
- scaleline,比例尺控件;
- zoom,缩放控件;
- zoomslider,缩放滑块刻度控件;
3. 控件的使用
3.1 fullscreen 全屏控件
import { defaults as defaultControls, FullScreen } from "ol/control";
this.map.addControl(new FullScreen());
3.2 mouseposition 鼠标位置控件
import MousePosition from "ol/control/MousePosition";
// 向地图添加 MousePosition
var mousePositionControl = new MousePosition({//坐标格式coordinateFormat: createStringXY(5),//地图投影坐标系(若未设置则输出为默认投影坐标系下的坐标)projection: "EPSG:4326",//坐标信息显示样式类名,默认是'ol-mouse-position'className: "custom-mouse-position",//显示鼠标位置信息的目标容器target: document.getElementById("mouse-position"),//未定义坐标的标记undefinedHTML: " "});this.map.addControl(mousePositionControl);
3.3 overviewmap 地图全局视图(鹰眼图)控件
参数:以下参数都为可选,添加如下代码:
collapsed,收缩选项,默认为true,收缩;
collapseLabel,收缩后的图标按钮;
collapsible,是否可以收缩为图标按钮,默认为 true;
label,当 overviewmapcontrol 收缩为图标按钮时,显示在图标按钮上的文字或者符号,默认为 »;
layers,overviewmapcontrol针对的图层,默认情况下为所有图层,一般这里设置的图层和map图层数据一致;
render,当 overviewmapcontrol 重新绘制时,调用的函数;
target,放置的 HTML 元素;
tipLabel,鼠标放置在图标按钮上的提示文字。
var overviewMapControl = new OverviewMap({layers: [new TileLayer({source: new XYZ({url:"http://map.geoq.cn/ArcGIS/rest/services/ChinaOnlineStreetPurplishBlue/MapServer/tile/{z}/{y}/{x}"})})]
});
this.map = new Map({target: target,layers: tileLayer,view: view,// 添加鹰眼图的控件controls: defaultControls({ zoom: true }).extend([overviewMapControl])
});
3.4 scaleline 比例尺控件
import { defaults as defaultControls,ScaleLine} from "ol/control";
this.map.addControl(new ScaleLine());
3.5 zoom 缩放控件
controls: defaultControls({ zoom: true }).extend([])
3.6 zoomslider 缩放滑块刻度控件
import { defaults as defaultControls, ZoomSlider } from "ol/control";
this.map.addControl(new ZoomSlider());
4. 总结
这里只是简单介绍了几个常用的控件全屏,鼠标位置,鹰眼图,比例尺,缩放,缩放滑块等,更多的控件可以去官网查看。
openlayers6【七】地图控件controls详解相关推荐
- C#Winform的DataGridView控件使用详解1—七种DataGridViewColumn类型使用方法
C#Winform的DataGridView控件使用详解1-七种DataGridViewColumn类型使用方法 DataGirdView控件Column类型 DataGridViewButtonCo ...
- android控件使用大全,Android常见控件使用详解
本文实例为大家分享了六种Android常见控件的使用方法,供大家参考,具体内容如下 1.TextView 主要用于界面上显示一段文本信息 2.Button 用于和用户交互的一个按钮控件 //为Butt ...
- Flash播放控件属性详解
Flash 播放控件属性详解 一.属性篇 1.AlignMode(读写) 语法:AlignMode As Long 说明:对齐方式(与SAlign 属性联动).当控件的长宽比例与影片不一致且WMo ...
- C#Winform的DataGridView控件使用详解2—DataGridView表格样式设置及表格操作
C#Winform的DataGridView控件使用详解2-DataGridView表格样式设置及表格操作 DataGridView表格样式设置 DataGridView行序号设置 右键弹出控件表格操 ...
- QT QLabel控件(使用详解)
本文详细的介绍了TextLabel控件的各种操作,例如:显示边框.设置文字.设置字体.设置信息提示框.状态提示.居中对齐.加载图片.自适应图片大小.设置位置大小.样式表等操作. 本文作者原创,转载请附 ...
- QT QTabWidget 控件 使用详解
本文详细的介绍了QTabWidget控件的各种操作,例如:新建界面.设置页面名字.设置提示信息.设置页面激活.设置标题栏位置.设置页面关闭按钮.设置页面关闭按钮.获取页面下标.获取页面总数.清空所有页 ...
- VB6.0 ActiveX 控件开发详解 [第一章:创建工程]
前言 在CSDN的VB论坛上,我总是能够看见有人这样问"有没有这样的控件,一个列表框,每一个项前面有一个按钮"(这是例子),又或者见到这样:"怎么样做一个ActiveX控 ...
- QT QSpinBox 整数计数器控件 使用详解
本文详细的介绍了QSpinBox控件的各种操作,例如:获取数值.设置前后缀.设置最大/小值.进制转换.关联信号槽.优化信号.QSS优化.文件源码.样式表 .效果:可以设置背景.边框.向上按钮.向下按钮 ...
- 新手必备pr 2021快速入门教程「七」效果控件面板详解
PR2021快速入门教程,学完之后,制作抖音视频,vlog,电影混剪,日常记录等不在话下!零基础,欢迎入坑! 本节内容 在使用pr软件的过程中,效果控件功能可以说是比较常用的功能,但是,具体它有哪些效 ...
最新文章
- 成人高考 计算机英语作文,2018年成人高考英语作文范文六篇
- 交互式计算机图形学总结:第四章 观察
- java web开发技巧_java web开发技巧
- why I cannot set SAP UI5 dropdown list as not selected
- 便宜的手机图传遥控模块
- nginx源码分析—模块及其初始化
- 教你Mac电脑复制手机粘贴的隐藏玩法
- macos下卸载软件
- 面试算法题不会做?看这个就够了!
- mysqlL时间戳和时间的获取/相互转换/格式化
- 微信小程序点餐系统怎么做
- double比较大小
- Bugzilla 下载和安装
- 常见健身器材EN ISO 20957认证标准有哪些
- Hark的数据结构与算法练习之珠排序
- 独家对话V神:详谈以太坊设计与区块链迷思
- Mining Version Histories to Guide Software Cha(挖掘版本记录以指导软件更改论文注解)
- SpringBoot 整合Mybatis
- JHM3000体温传感器驱动
- 收银系统(Java简单版)
热门文章
- pythonencoding etf-8_Python 金融: 用Groupby理解 上证50ETF
- linux视频黑屏,在UOS/Deepin/Linux上用达芬奇DaVinci Resolve 16剪视频,解决打不开mp4、黑屏、没声音...
- 永磁同步电机pmsm 双闭环foc控制系统 双pi调节 一共三个pi模块调参方式为ti的方法
- MySQL InnoDB Cluster
- matlab整流电路计算,基于MATLAB的单相桥式整流电路研究
- 运维人员如何批量修改web服务器密码
- BigInteger类用于表示比long更大的整数类型
- 点序AS2258开东芝/闪迪 1z/15nm制程9DDL MLC经验分享
- linux中probe函数的pm管理,linux中 probe函数的何时调用的
- goolge 地图地址位置解析