openLayers实战(五):overlay绘制标记

news2024/11/24 6:29:38

引入与创建overlay

import Overlay from "ol/Overlay";

// 创建map实例以及其他地图操作请看前几篇文章
// 省略2k行代码

methods: {
    creatMark(markDom, txt, idstr) {
      if (markDom == null) {
        markDom = document.createElement("div");
        if (txt) {
          markDom.innerHTML = `<div>经度:${txt[0]}</div><div>纬度:${txt[1]}</div>`;
        } else {
          markDom.innerHTML = txt;
        }
        markDom.style =
          "width:auto;height:auto;padding:4px;border:1px solid #409EFF;font-size:12px;background-color:#fff;position:relative;top:60%;left:60%;font-weight:600;";
      }
      let overlay = new Overlay({
        element: markDom,
        autoPan: false,
        positioning: "bottom-center",
        id: idstr,
        stopEvent: false,
      });
      this.map.addOverlay(overlay);
      return overlay;
    },
}

这里,我传入了3个变量:

  • markDom:标记的dom元素
  • txt:标记中要显示的信息,比如 传入的是经纬度数据 [127.00000, 31.00000]
  • idstr:为的是标记overlay,唯一标识

调用与清除overlay

    this.map.on("click", (evt) => {
      // 获取当前点击点的 feature,如果存在就移除
      const feature = this.pointLayerSource.getFeatureById("curIconFeatureId");
      // 清除元素
      if (feature) {
        this.pointLayerSource.removeFeature(feature);
      }
      // 清除overlay
      const overlay= this.map.getOverlayById("featureInfo");
      if (overlay) {
        this.map.removeOverlay(overlay);
      }
      this.addFeature(evt, this.markerCurrentIcon, "curIconFeatureId", true);
    });

如果你高兴,this.cerateMark随意传值来优化标记样式效果,也可以将overlay的id存入data中。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/875028.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2024」预备研究生mem-阴影图形

一、阴影图形 二、课后题

java 加载商户API私钥 (pem证书私钥)

1. pem证书放在resources目录下 2. 加载证书的工具类 import com.wechat.pay.contrib.apache.httpclient.util.PemUtil; // 商户API私钥 (把证书放在项目路径下, 然后加载出来), 加载证书的工具类PrivateKey merchantPrivateKey PemUtil.loadPrivateKey(new FileInp…

深入探究进程、线程和协程:并发编程的三重境界

文章目录 &#x1f340;引言&#x1f340;进程&#xff1a;隔离的执行环境&#x1f340;概念&#x1f340;应用场景&#x1f340;代码演示 &#x1f340;线程&#xff1a;轻量级的执行单元&#x1f340;概念&#x1f340;应用场景&#x1f340;代码演示 &#x1f340;协程&…

文件恢复软件推荐!这款你值得拥有!

“朋友们&#xff0c;怎么会有人总是在清理电脑的时候把重要的文件一起删掉啊&#xff1f;我真的每次只要一清理电脑&#xff0c;重要文件必不见&#xff01;大家有什么比较实用的文件恢复软件推荐吗&#xff1f;感谢&#xff01;” 使用电脑时误删文件已经是一件比较常见的事情…

1.MySQL数据库的基本操作

数据库操作过程&#xff1a; 1.用户在客户端输入 SQL 2.客户端会把 SQL 通过网络发送给服务器 3.服务器执行这个 SQL,把结果返回给客户端 4.客户端收到结果,显示到界面上 数据库的操作 这里的数据库不是代表一个软件&#xff0c;而是代表一个数据集合。 显示当前的数据库 …

【编码魔法师系列_六大原则5】迪米特原则(Law of Demeter Principle)

学会设计模式&#xff0c;你就可以像拥有魔法一样&#xff0c;在开发过程中解决一些复杂的问题。设计模式是由经验丰富的开发者们&#xff08;GoF&#xff09;凝聚出来的最佳实践&#xff0c;可以提高代码的可读性、可维护性和可重用性&#xff0c;从而让我们的开发效率更高。通…

DolphinDB 入选 Gartner《中国数据库市场指南》代表厂商

近日&#xff0c;国际知名研究机构 Gartner 发布2023年《中国 DBMS 市场指南&#xff08;Market Guide for DBMS, China&#xff09;》研究报告&#xff0c;在中国范围内评估并重点推荐了36家极具实力的企业&#xff0c;DolphinDB 以领先的技术和商业能力顺势入榜。 DolphinDB …

Mybatis 源码 ② :流程分析

文章目录 一、前言二、Mybatis 初始化1. AutoConfiguredMapperScannerRegistrar2. MapperScannerConfigurer3. ClassPathMapperScanner3.1 ClassPathMapperScanner#scan3.2 ClassPathMapperScanner#processBeanDefinitions 4. 总结 三、 Mapper Interface 的创建1. MapperFacto…

3段代码详解python中的单线程、多线程和多进程

目录 1. 单线程&#xff1a; 2. 多线程&#xff1a; 3. 多进程&#xff1a; 什么时候使用单线程、多线程和多进程 总结 在并发编程中&#xff0c;使用适当的并发模型可以提高程序执行效率和性能。Python提供了单线程、多线程和多进程三种方式来实现并发执行任务。 单线程…

护眼灯买哪种好,2023护眼台灯推荐

护眼台灯的光照一般比较均匀&#xff0c;相比普通台灯&#xff0c;一般具有防蓝光、防频闪等功能&#xff0c;能够提供一个健康舒适的学习、生活灯光环境&#xff0c;建议选购内置智能感光模式的护眼台灯&#xff0c;以确保灯光亮度一直处于均衡状态&#xff0c;让眼睛更轻松。…

从源代码编译构建Apach Spark3.2.4

从源代码编译构建Apach Spark3.2.4 编译说明编译Apache Spark下载源码构建环境准备使用本地Maven构建更改Scala版本下载Jar包构建可运行的发行版构建异常构建成功 运行测试 编译说明 对于大多数用户来说&#xff0c;使用官方预编译版本的Spark已经足够满足日常需求。只有在特定…

Hands on RL 之 Proximal Policy Optimization (PPO)

Hands on RL 之 Proximal Policy Optimization (PPO) 文章目录 Hands on RL 之 Proximal Policy Optimization (PPO)1. 回顾Policy Gradient和TRPO2. PPO (Clip)3. PPO(Penalty)4. PPO中Advantage Function的计算5.实现 PPO-ClipReference 1. 回顾Policy Gradient和TRPO ​ 首…

构建Actual网页客户端镜像

什么是 Actual &#xff1f; Actual 是一款超快速且注重隐私的本地优先的财务应用程序&#xff0c;用于管理您的财务。其核心是经过充分验证且深受喜爱的信封预算方法。它是 100% 免费和开源的。 Actual 具有多设备同步、可选的端到端加密等等功能。默认情况下&#xff0c;它不…

ssm医院门诊挂号系统源码和论文PPT

ssm医院门诊挂号系统源码和论文PPT008 开题报告 任务书 源码 数据库sql 论文 开发环境&#xff1a; 开发工具&#xff1a;idea 数据库mysql5.7(mysql5.7最佳) 数据库链接工具&#xff1a;navcat,小海豚等 开发技术&#xff1a;java ssm tomcat8.5 1.选题的背景和意义 …

高性能MySQL实战(二):索引

大家好&#xff0c;我是 方圆。我们在上篇 高性能MySQL实战&#xff08;一&#xff09;&#xff1a;表结构 中已经建立好了表结构&#xff0c;这篇我们则是针对已有的表结构和搜索条件为表创建索引。除此之外&#xff0c;我还会讲一些关于索引必须要了解的知识。原文收录在我的…

原来这才叫休息!——科学家揭示真正的“休息模式”

什么叫做休息&#xff1f;好好休息个周末&#xff1f;好好出去旅游一下&#xff1f;但事实上&#xff0c;往往越休息越感觉累。为什么呢&#xff1f;也许我们对休息存在误解&#xff0c;这篇文章会帮我们分析究竟该如何休息。 为什么你睡了11个小时仍然觉得疲累&#xff1f;为什…

【量化课程】06_化调仓策略

文章目录 6.1 如何衡量投资组合的收益率6.1.1 投资组合收益率的计算方法6.1.2 投资组合的绝对收益率和相对收益率 6.2 如何衡量投资组合的风险6.2.1 风险的定义6.2.2 投资组合的风险6.2.3 衡量投资组合的风险 6.3 最优化方法计算投资组合的最佳仓位6.3.1 等权重6.3.2 市值加权6…

Linux下常见的代理服务器软件介绍

在Linux系统中&#xff0c;代理服务器是我们搭建网络环境和处理网络请求的常用工具。但是&#xff0c;你知道Linux下常见的代理服务器软件有哪些吗&#xff1f;本文将为你带来对几款常见的Linux代理服务器软件的介绍&#xff0c;帮助你选择适合的代理服务器。 一、Squid&#…

根据数组中元素的位置号x,y和指定的计算规则z=f(x,y)创建数组,让x,y位置上的值是znp.fromfunction()

【小白从小学Python、C、Java】 【计算机等考500强证书考研】 【Python-数据分析】 根据数组中元素的位置号x,y 和指定的计算规则zf(x,y) 创建数组&#xff0c;让x,y位置上的值是z np.fromfunction() 选择题 下列说法错误的是? import numpy as np def func(i, j): return …

书单背景图片素材哪里找?这个工具赶紧用起来

好的文案是很重要的&#xff0c;但是如何找到好的文案却是一件很困难的事情。以下是一些可以寻找好的文案的方法分析&#xff0c;以及如何把书单文章转到视频的操作分享。 1.书籍和杂志&#xff1a;阅读关于广告、营销、文案和创意的书籍和杂志可以帮助你了解不同的文案类型和风…