千家信息网

openlayers6中地图覆盖物overlay的示例分析

发表于:2025-01-19 作者:千家信息网编辑
千家信息网最后更新 2025年01月19日,这篇文章主要介绍openlayers6中地图覆盖物overlay的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1. overlay 简述overlay是覆盖物的意思,
千家信息网最后更新 2025年01月19日openlayers6中地图覆盖物overlay的示例分析

这篇文章主要介绍openlayers6中地图覆盖物overlay的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

1. overlay 简述

overlay是覆盖物的意思,顾名思义就是在地图上以另外一种形式浮现在地图上,这里很多同学会跟图层layers搞混淆,主要是放置一些和地图位置相关的元素,常见的地图覆盖物为这三种类型,如:popup 弹窗label标注信息text文本信息等,而这些覆盖物都是和html中的element等价的,通过overlay的属性element和html元素绑定同时设定坐标参数--达到将html元素放到地图上的位置,在平移缩放的时候html元素也会随着地图的移动而移动。

下面我们在看下官网的描述,其实map默认是存在这个属性,跟前面写的文章,图层,控件,交互都一个性质,都是默认加载地图的情况下是允许设置默认的overlay覆盖物,也可以在某个事件或者方法触发的时候去单独添加覆盖物。这里可以看下前面的文章描述,具体不进行详细阐述。

2. overlay 属性

overlay初始化时可以接受很多的配置参数,这些配置参数是一个个的键值对,共同构成一个对象字面量(options),然后传递给其"构造函数",如new ol.Overlay(options),此处的 options 便是参数键值对构成的对象字面量。可配置的键值对,定义如下:(红色为常用属性)

  • id,为对应的 overlay 设置一个 id,便于使用 ol.Map 的 getOverlayById 方法取得相应的 overlay;

  • element,overlay 包含的 DOM element;offset,偏移量,像素为单位,overlay 相对于放置位置(position)的偏移量,默认值是 [0, 0],正值分别向右和向下偏移;position,在地图所在的坐标系框架下,overlay 放置的位置;

  • positioning,overlay 对于 position 的相对位置,可能的值包括 bottom-left、bottom-center、bottom-right 、center-left、center-center、center-right、top-left、top-center、top-right,默认是 top-left,也就是 element 左上角与 position 重合;

  • stopEvent,地图的事件传播是否停止,默认是 true,即阻止传播,可能不太好理解,举个例子,当鼠标滚轮在地图上滚动时,会触发地图缩放事件,如果在 overlay 之上滚动滚轮,并不会触发缩放事件,如果想鼠标在 overlay 之上也支持缩放,那么将该属性设置为 false 即可;

  • insertFirst,overlay 是否应该先添加到其所在的容器(container),当 stopEvent 设置为 true 时,overlay 和 openlayers 的控件(controls)是放于一个容器的,此时将 insertFirst 设置为 true ,overlay 会首先添加到容器,这样,overlay 默认在控件的下一层(CSS z-index),所以,当 stopEvent 和insertFirst 都采用默认值时,overlay 默认在 控件的下一层

  • autoPan,当触发 overlay setPosition 方法时触发,当 overlay 超出地图边界时,地图自动移动,以保证 overlay 全部可见;

  • autoPanAnimation,设置 autoPan 的效果动画,参数类型是 olx.animation.panOptions

  • autoPanMargin,地图自动平移时,地图边缘与 overlay 的留白(空隙),单位是像素,默认是 20像素;

后面案例中使用。

2. overlay 事件

支持的事件主要是继承 ol.Object 而来的 change 事件,当 overlay 相关属性或对象变化时触发:

  • change,当引用计数器增加时,触发;

  • change:element,overlay 对应的 element 变化时触发;

  • change:map,overlay 对应的 map 变化时触发;

  • change:offset,overlay 对应的 offset 变化时触发;

  • change:position,overlay 对应的 position 变化时触发;

  • change:positioning,overlay 对应的 positioning 变化时触发;

  • propertychange,overlay 对应的属性变化时触发;

那么怎么绑定相应的事件呢?openlayers 绑定事件遵循一般的 dom 事件绑定规则,包括 DOM 2 级事件绑定,以下是一个例子,这个例子说明了 overlay 的位置变化时在浏览器的控制台输出字符串的例子。

var overlay = new ol.Overlay({    // 创建 overlay ...省略});// 事件overlay.on("change:position", function(){    console.log("位置改变!");})

4. overlay 方法

支持的方法这里我们只介绍 overlay 特有的方法,就不介绍其继承而来的方法了,主要是针对 overlay 的属性及其相关联对象的 getset方法。

  • getElement,取得包含 overlay 的 DOM 元素;

  • getId,取得 overlay 的 id;

  • getMap,获取与 overlay 关联的 map对象;

  • getOffset,获取 offset 属性;

  • getPosition,获取 position 属性;

  • getPositioning,获取 positioning 属性;

  • setElement;设置 overlay 的 element;

  • setMap,设置与 overlay 的 map 对象;

  • setOffset,设置 offset;

  • setPosition,设置 position 属性;

  • setPositioning,设置 positioning 属性。

以上是"openlayers6中地图覆盖物overlay的示例分析"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!

地图 属性 事件 方法 变化 覆盖物 位置 对象 元素 参数 例子 控件 像素 容器 偏移 支持 移动 配置 示例 分析 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 贵阳双路机架服务器 河南存储服务器云服务器 上海夺畅网络技术有限公司官网 河北根创网络技术有限公司 咸宁市中小学网络安全教育 西电网络安全和信息化 沈阳尖峰软件开发电话 数据库中怎样进行角色的创建 霆智服务器安全 最新软件开发有哪些 连数据库放在阿里云 移动软件开发工程师一个月多少 网络技术人员专业知识 打印机提示连接服务器 返回当前数据库的版本号的函数 网络安全签名倡议 高校网站服务器搭建与设计 软件开发助理招聘信息 北京通讯软件开发过程有哪些 aaa服务器软件 汇丰软件开发b5待遇 数据库定义default 服务器登录失败内存位置访问失效 对日软件开发看什么书籍 朱啸虎曾领投哪些互联网科技企业 安徽计算机应用软件开发哪家好 广东互联网软件开发机构 网络技术如何帮助公安舆情 手机网络安全教育片观后感 网络安全事件的发展趋势
0