文章目录

  • 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详解相关推荐

  1. C#Winform的DataGridView控件使用详解1—七种DataGridViewColumn类型使用方法

    C#Winform的DataGridView控件使用详解1-七种DataGridViewColumn类型使用方法 DataGirdView控件Column类型 DataGridViewButtonCo ...

  2. android控件使用大全,Android常见控件使用详解

    本文实例为大家分享了六种Android常见控件的使用方法,供大家参考,具体内容如下 1.TextView 主要用于界面上显示一段文本信息 2.Button 用于和用户交互的一个按钮控件 //为Butt ...

  3. Flash播放控件属性详解

    Flash 播放控件属性详解 一.属性篇 1.AlignMode(读写)  语法:AlignMode As Long  说明:对齐方式(与SAlign 属性联动).当控件的长宽比例与影片不一致且WMo ...

  4. C#Winform的DataGridView控件使用详解2—DataGridView表格样式设置及表格操作

    C#Winform的DataGridView控件使用详解2-DataGridView表格样式设置及表格操作 DataGridView表格样式设置 DataGridView行序号设置 右键弹出控件表格操 ...

  5. QT QLabel控件(使用详解)

    本文详细的介绍了TextLabel控件的各种操作,例如:显示边框.设置文字.设置字体.设置信息提示框.状态提示.居中对齐.加载图片.自适应图片大小.设置位置大小.样式表等操作. 本文作者原创,转载请附 ...

  6. QT QTabWidget 控件 使用详解

    本文详细的介绍了QTabWidget控件的各种操作,例如:新建界面.设置页面名字.设置提示信息.设置页面激活.设置标题栏位置.设置页面关闭按钮.设置页面关闭按钮.获取页面下标.获取页面总数.清空所有页 ...

  7. VB6.0 ActiveX 控件开发详解 [第一章:创建工程]

    前言 在CSDN的VB论坛上,我总是能够看见有人这样问"有没有这样的控件,一个列表框,每一个项前面有一个按钮"(这是例子),又或者见到这样:"怎么样做一个ActiveX控 ...

  8. QT QSpinBox 整数计数器控件 使用详解

    本文详细的介绍了QSpinBox控件的各种操作,例如:获取数值.设置前后缀.设置最大/小值.进制转换.关联信号槽.优化信号.QSS优化.文件源码.样式表 .效果:可以设置背景.边框.向上按钮.向下按钮 ...

  9. 新手必备pr 2021快速入门教程「七」效果控件面板详解

    PR2021快速入门教程,学完之后,制作抖音视频,vlog,电影混剪,日常记录等不在话下!零基础,欢迎入坑! 本节内容 在使用pr软件的过程中,效果控件功能可以说是比较常用的功能,但是,具体它有哪些效 ...

最新文章

  1. 成人高考 计算机英语作文,2018年成人高考英语作文范文六篇
  2. 交互式计算机图形学总结:第四章 观察
  3. java web开发技巧_java web开发技巧
  4. why I cannot set SAP UI5 dropdown list as not selected
  5. 便宜的手机图传遥控模块
  6. nginx源码分析—模块及其初始化
  7. 教你Mac电脑复制手机粘贴的隐藏玩法
  8. macos下卸载软件
  9. 面试算法题不会做?看这个就够了!
  10. mysqlL时间戳和时间的获取/相互转换/格式化
  11. 微信小程序点餐系统怎么做
  12. double比较大小
  13. Bugzilla 下载和安装
  14. 常见健身器材EN ISO 20957认证标准有哪些
  15. Hark的数据结构与算法练习之珠排序
  16. 独家对话V神:详谈以太坊设计与区块链迷思
  17. Mining Version Histories to Guide Software Cha(挖掘版本记录以指导软件更改论文注解)
  18. SpringBoot 整合Mybatis
  19. JHM3000体温传感器驱动
  20. 收银系统(Java简单版)

热门文章

  1. pythonencoding etf-8_Python 金融: 用Groupby理解 上证50ETF
  2. linux视频黑屏,在UOS/Deepin/Linux上用达芬奇DaVinci Resolve 16剪视频,解决打不开mp4、黑屏、没声音...
  3. 永磁同步电机pmsm 双闭环foc控制系统 双pi调节 一共三个pi模块调参方式为ti的方法
  4. MySQL InnoDB Cluster
  5. matlab整流电路计算,基于MATLAB的单相桥式整流电路研究
  6. 运维人员如何批量修改web服务器密码
  7. BigInteger类用于表示比long更大的整数类型
  8. 点序AS2258开东芝/闪迪 1z/15nm制程9DDL MLC经验分享
  9. linux中probe函数的pm管理,linux中 probe函数的何时调用的
  10. goolge 地图地址位置解析