openlayers [七] 地图控件controls详解

这篇具有很好参考价值的文章主要介绍了openlayers [七] 地图控件controls详解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

controls 简述

上篇文章我们将了在地图上的交互(interaction),那些都是一些隐性的需要去使用才能知道存在有这样一个东西,就像彩蛋一样。这篇我们主要讲地图上的控件(controls),这些可以说都是显性的东西,如果设置了,打开地图页面就能够看到的东西
属性 不是必须存在 的,默认使用的是 control~defaults 内容,并且是已 Array数组形式存在,也就是说可以像图层和交互一样,可以多个控件功能承载在地图上。

常见的 controls 控件

  • controldefaults,地图默认包含的控件,包含缩放控件和旋转控件;
  • fullscreen,全屏控件,用于全屏幕查看地图;
  • mouseposition,鼠标位置控件,显示鼠标所在地图位置的坐标,可以自定义投影;
  • overviewmap,地图全局视图控件(鹰眼图)
  • scaleline,比例尺控件;
  • zoom,缩放控件;
  • zoomslider,缩放滑块刻度控件;

使用方法

fullscreen 全屏

openlayers [七] 地图控件controls详解,openlayer从入门到进阶,javascript,webgis,前端,vue.js

import { defaults as defaultControls, FullScreen } from "ol/control";
 map.value.addControl(new FullScreen());

mouseposition 鼠标位置控件

openlayers [七] 地图控件controls详解,openlayer从入门到进阶,javascript,webgis,前端,vue.js


import { createStringXY } from "ol/coordinate";
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("vue-openlayers"),
    //未定义坐标的标记
    undefinedHTML: " ",
});

map.value.addControl(mousePositionControl);

overviewmap 鹰眼图

参数:以下参数都为可选,添加如下代码
collapsed,收缩选项,默认为true,收缩;
collapseLabel,收缩后的图标按钮;
collapsible,是否可以收缩为图标按钮,默认为 true;
label,当 overviewmapcontrol 收缩为图标按钮时,显示在图标按钮上的文字或者符号,默认为 »;
layers,overviewmapcontrol针对的图层,默认情况下为所有图层,一般这里设置的图层和map图层数据一致;
render,当 overviewmapcontrol 重新绘制时,调用的函数;
target,放置的 HTML 元素;
tipLabel,鼠标放置在图标按钮上的提示文字。

openlayers [七] 地图控件controls详解,openlayer从入门到进阶,javascript,webgis,前端,vue.js

import OverviewMap from "ol/control/OverviewMap";

var overviewMapControl = new OverviewMap({
    layers: [
        new TileLayer({
            source: new OSM(),
        }),
    ],
    collapsed: false,
});

controls: defaultControls({ zoom: true }).extend([overviewMapControl]),

scaleline 比例尺控件

import { defaults as defaultControls,ScaleLine} from "ol/control";
map.value.addControl(new ScaleLine());

openlayers [七] 地图控件controls详解,openlayer从入门到进阶,javascript,webgis,前端,vue.js

zoomslider 缩放滑块刻度控件

openlayers [七] 地图控件controls详解,openlayer从入门到进阶,javascript,webgis,前端,vue.js

import { defaults as defaultControls, ZoomSlider } from "ol/control";
map.value.addControl(new ZoomSlider());

总结

更多请见官网文章来源地址https://www.toymoban.com/news/detail-815771.html

到了这里,关于openlayers [七] 地图控件controls详解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • openlayers [八] 地图覆盖物overlay详解

    overlay是覆盖物的意思 这里很多同学会跟图层layers搞混淆,主要是放置一些和地图位置相关的元素,常见的地图覆盖物为这三种类型,如: popup 弹窗、label标注信息、text文本信息 等,而这些覆盖物都是和html中的element等价的,通过overlay的属性element和html元素绑定同时设定坐标

    2024年01月19日
    浏览(24)
  • openlayers controls基础知识

    控件是一个可见的小部件,其 DOM 元素位于屏幕上的固定位置。 它们可以涉及用户输入(按钮),或者仅提供信息; 位置是使用 CSS 确定的。 默认情况下,它们放置在 CSS 类名为 ol-overlaycontainer-stopevent 的容器中,但可以使用任何外部 DOM 元素。 .在Openlayers中多数Controls直接可

    2024年02月12日
    浏览(25)
  • 【OpenLayers】VUE+OpenLayers+ElementUI加载WMS地图服务

    需要安装好nodejs,nodejs下载地址,下载对应的版本向导式安装即可。 安装完成后,控制台输入node -v,显示版本号即安装成功。 下载完成后,默认将缓存路径和下载路径设置的C盘,可以使用如下命令修改: 设置之后需要将上面两个地址添加到环境变量中。 安装完成之后控制

    2023年04月09日
    浏览(31)
  • vue+openlayers,初始化openlayers地图,实现鼠标移入、点击、右键等事件

    主要功能:初始化openlayers地图,实现鼠标移入、点击、右键等事件,以及获取当前图标的feature,将当前图标信息以弹框方式进行展示;地图上展示拾取到的经纬度 前端使用的是vue技术栈 步骤一:将地图的公用配置项单独提出成一个js文件,方便打包后进行修改,代码如下

    2024年02月11日
    浏览(27)
  • openLayers基础地图操作

    和高德地图,百度地图,腾讯地图,Arcgis一样,OpenLayers是一个用于开发WebGIS客户端的JavaScript包。 它有自带的api在线说明官方文档: https://openlayers.org/ 。也有中文api网站: http://linwei.xyz/ol3-primer/ch01/index.html 。 openLayers依赖包npm安装: npm install ol --save openLayers依赖包yarn安装:

    2024年02月05日
    浏览(40)
  • openlayers 地图组件封装

    2024年02月07日
    浏览(32)
  • [Webgis][地图加载]OpenLayer加载多种形式地图

    描述在前 书接上回,作为打工人,学习还是要以项目为导向。由于领导想看卫星地图显示,这次我们记录下,如何使用OpenLayer 加载显示常见的几种二维地图,包括普通地图,卫星地图,和卫星路网混合地图。还是以高德地图为例,下面我们直接上代码,从实例入手学习。 代

    2024年02月01日
    浏览(31)
  • openlayers学习(一)仿3D效果地图

    最近看到一些3D的地图,觉得很炫酷,实现按道理来说应该是用3D类的地图来实现,刚好在学习一些openlayers的内容,所以也尝试一下,但最终效果也仅局限于单个polygon下。 其他实现方式应该还是使用cesium或者mapbox或者echarts会方便很多。 学了一趟openlayers后,发现并没有那种可

    2023年04月26日
    浏览(26)
  • OpenLayers实战,OpenLayers结合下拉菜单实现城市切换,动态切换城市边界到地图视图视角范围内

    专栏目录: OpenLayers实战进阶专栏目录 本章是OpenLayers综合实战案例,使用OpenLayers结合下拉菜单实现城市切换,动态切换城市边界到地图视图视角范围内。 本章需要使用到ElementUI的下拉框组件和OpenLayers的TopoJson格式解析地市边界数据并负责渲染,通过动态创建style样式来切换

    2024年02月06日
    浏览(41)
  • openlayers实现锁定地图,不可使用鼠标拖动放大缩小地图

    开启地图锁定功能,不再允许使用鼠标拖拽查看地图,使用鼠标滚轮放大缩小查看地图 关键代码 包含业务开关的代码 注:这个图是别的大佬整理的 https://www.ktanx.com/blog/p/2656

    2024年02月02日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包