vue3+openLayers点击标记事件

<template><!--地图--><div class="distributeMap" id="distributeMap"></div>
</template>
<script lang="ts" setup>
import { onMounted, reactive } from "vue";
import { Feature, Map, View } from "ol";
import OSM from "ol/source/OSM";
import "ol/ol.css";
import TileLayer from "ol/layer/Tile";
import XYZ from "ol/source/XYZ";
import { fromLonLat } from "ol/proj";
import { Point } from "ol/geom";
import CircleStyle from "ol/style/Circle";
import { Fill, Icon, Style } from "ol/style";
import VectorSource from "ol/source/Vector";
import VectorLayer from "ol/layer/Vector";const state = reactive({map: null as any,
});
/*** 模块名:初始化地图* 代码描述:* 作者:Fant* 创建时间:2024/07/19 16:03:21*/
const getMap = () => {let layer = new TileLayer({source: new XYZ({url: 'http://t4.tianditu.com/DataServer?T=vec_w&tk=4a76fd399e76e3e984e82953755c3410&x={x}&y={y}&l={z}',}),});state.map = new Map({target: 'olmap',layers: [layer],view: new View({projection: 'EPSG:4326', //使用WGS 84坐标系center: [114.31, 30.62048],zoom: 12,}),});
};
/*** 模块名:添加点标记* 代码描述:* 作者:Fant* 创建时间:2024/07/20 15:59:48*/
const mapPoint = () => {// 创建点特征const pointFeature = new Feature({name: "点位",id: 1,geometry: new Point([114.31, 30.62048]),});//创建stylepointFeature.setStyle(new Style({image: new Icon({src: "https://smart-garden-manage.oss-cn-chengdu.aliyuncs.com/shexiangtou.png",scale: 0.3, //图片大小比例}),}));// 创建矢量图层const vectorSource = new VectorSource({features: [pointFeature], // 添加点特征到图层});const vectorLayer = new VectorLayer({source: vectorSource,});state.map.addLayer(vectorLayer);
};
/*** 模块名:点击icon事件* 代码描述:* 作者:Fant* 创建时间:2024/07/23 20:15:50*/
const iconClick = () => {state.map.on("singleclick", (e: any) => {console.log(e);let point = state.map.forEachFeatureAtPixel(e.pixel,(feature: any) => feature) as any;//如果没有点击到标记 这里会打印出undefinedconsole.log(point);if (point) {let params = point.getProperties();console.log("当前标点参数", params);}});
};
onMounted(() => {getMap();mapPoint();iconClick();
});
</script>
<style lang="scss" scoped>
@import url("./style.scss");
</style>

在这里插入图片描述
在这里插入图片描述

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

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

相关文章

C++中的依赖注入

目录 1.概述 2.构造函数注入 3.setter方法注入 4.接口注入 5.依赖注入框架 6.依赖注入容器 7.依赖注入框架的工作原理 8.依赖注入的优势 9.总结 1.概述 依赖注入是一种设计模式&#xff0c;它允许我们在不直接创建对象的情况下为对象提供其依赖项&#xff1b;它通过将…

模拟信号介绍

定义&#xff1a; 模拟信号是指用连续变化的物理量表示的信息&#xff0c;其信号的幅度、频率或相位随时间作连续变化&#xff0c;或在一段连续的时间间隔内&#xff0c;其代表信息的特征量可以在任意瞬间呈现为任意数值的信号。我们通常又把模拟信号称为连续信号&#xff0c;它…

Pytorch使用教学6-张量的分割与合并

在使用PyTorch时&#xff0c;对张量的分割与合并是不可避免的操作&#xff0c;本节就带大家深刻理解张量的分割与合并。 在开始之前&#xff0c;我们先对张量的维度进行深入理解&#xff1a; t2 torch.zeros((3, 4)) # tensor([[0., 0., 0., 0.], # [0., 0., 0., 0.…

java发送https请求支持tls1.3

说明&#xff1a;java 8_u201及以下版本不支持tls1.3协议发送。最直接的方法是升级到该版本之上。 另外&#xff1a;需要修改一下代码强行使用tls1.3协议。如果只修改代码&#xff0c;不升级java版本会报错找不到该协议。

【基于PSINS】UKF/SSUKF对比的MATLAB程序

UKF与SSUKF UKF是&#xff1a;无迹卡尔滤波 SSUKF是&#xff1a;简化超球面无迹卡尔曼滤波 UKF 相较于传统的KF算法&#xff0c;UKF能够更好地处理非线性系统&#xff0c;并且具有更高的估计精度。它适用于多种应用场景&#xff0c;如机器人定位导航、目标跟踪、信号处理等。…

【解决方案】华普微基于CMT2189D的低功耗广域网解决方案

一、方案概述 随着物联网的快速发展&#xff0c;对于无线通信的需求越来越高。传统的通信技术可能无法满足物联网设备的特殊要求&#xff0c;如低功耗、长距离覆盖和大规模连接。LPWAN技术应运而生&#xff0c;旨在为物联网设备提供低成本、低功耗的远距离通信解决方案。ZETA作…

【Qt】Qt容器和STL容器的区别

1、简述 Qt容器和STL容器略有不同,作为一个Qter,应该知道它们之间的异同。 Qt容器官网介绍:https://doc.qt.io/qt-5/containers.html STL容器官网介绍:https://zh.cppreference.com/w/cpp/container 2、Qt容器和STL容器的对应关系 注意:QList 与 std::list 无关,QSet …

<数据集>铁路工人安全帽安全背心识别数据集<目标检测>

数据集格式&#xff1a;VOCYOLO格式 图片数量&#xff1a;3065张 标注数量(xml文件个数)&#xff1a;3065 标注数量(txt文件个数)&#xff1a;3065 标注类别数&#xff1a;3 标注类别名称&#xff1a;[vest, helmet, worker] 序号类别名称图片数框数1vest305978832helmet…

谷粒商城实战笔记-59-商品服务-API-品牌管理-使用逆向工程的前后端代码

文章目录 一&#xff0c; 使用逆向工程生成的代码二&#xff0c;生成品牌管理菜单三&#xff0c;几个小问题 在本次的技术实践中&#xff0c;我们利用逆向工程的方法成功地为后台管理系统增加了品牌管理功能。这种开发方式不仅能快速地构建起功能模块&#xff0c;还能在一定程度…

Go语言常见序列化协议全面对比

先说结论 从易用性、性能、内存占用、编码后大小等几个方面综合考虑 ProtoBuf 胜出。 Gob 从性能和 I/O 带宽占用上都和 ProtoBuf 差不多&#xff0c;唯一劣势是编解码时内存占用较多。考虑到不用再写 IDL 带来的易用性&#xff0c;如果整个系统内不存在使用除 Go 以外其他语言…

使用 Snorkel 和 MinIO 的以数据为中心的 AI

如今&#xff0c;业界都在谈论大型语言模型及其编码器、解码器、多头注意力层和数十亿&#xff08;即将数万亿&#xff09;的参数&#xff0c;人们很容易相信好的人工智能只是模型设计的结果。不幸的是&#xff0c;事实并非如此。好的人工智能需要的不仅仅是一个精心设计的模型…

医疗器械ce认证办理流程介绍

CE认证是的产品安全认证&#xff0c;所有进入市场的医疗器械都必须进行医疗器械CE认证&#xff0c;医疗器械CE认证为了解决成员国之间的贸易壁垒&#xff0c;组织逐步将自己建成一个统一的大市场&#xff0c;以确保人员、服务、资本和产品(如医疗器械)的自由流通。在医疗器械领…

查找手机归属地轻松快捷,专业手机号码归属地数据源

在如今的信息社会中&#xff0c;手机已经成为了人们生活中不可或缺的一部分。当我们接到一个陌生的电话时&#xff0c;或者想了解一个电话号码的归属地时&#xff0c;我们可以借助一些工具来查找手机归属地。本文将介绍一种轻松快捷、专业的手机号码归属地数据源&#xff0c;并…

box-shadow属性的复合写法及高级用法,超详细!

前言&#xff1a;最近又叕看到了一个好看的特效&#xff0c;随后整理了一下&#xff0c;发现实现起来主要靠一个css属性就实现了&#xff0c;有一次刷新了我对css强大的认知&#x1f60e;&#xff0c;这个属性就是box-shadow&#xff0c;平常我们用到的比较少&#xff0c;但是针…

智慧工地视频汇聚管理平台:打造现代化工程管理的全新视界

一、方案背景 科技高速发展的今天&#xff0c;工地施工已发生翻天覆地的变化&#xff0c;传统工地管理模式很容易造成工地管理混乱、安全事故、数据延迟等问题&#xff0c;人力资源的不足也进一步加剧了监管不到位的局面&#xff0c;严重影响了施工进度质量和安全。 视频监控…

LLMs之Llama 3.1:Llama 3.1的简介、安装和使用方法、案例应用之详细攻略

LLMs之Llama 3.1&#xff1a;Llama 3.1的简介、安装和使用方法、案例应用之详细攻略 导读&#xff1a;2024年7月23日&#xff0c;Meta重磅推出Llama 3.1。本篇文章主要提到了Meta推出的Llama 3.1自然语言生成模型。 背景和痛点 >> 过去开源的大型语言模型在能力和性能上一…

C语言------指针讲解(3)

一、字符指针 在指针中&#xff0c;我们知道有一类指针类型为字符指针char*; int main() {char ch w;char* pc &ch;*pc w;return 0; } 还有一种使用方式如下&#xff1a; 上述代码中&#xff0c;本质是把hello的首字符的地址放到了pstr中。即把一个常量字符串的首字符…

netty使用redis发布订阅实现消息推送

netty使用redis发布订阅实现消息推送 场景 项目中需要给用户推送消息: 接口 RestController public class PushApi {Autowiredprivate PushService pushService;/*** 消息推送* param query* return*/PostMapping("/push/message")public String push(RequestBody…

国内访问Docker Hub慢问题解决方法

在国内访问Docker Hub时可能会遇到一些困难&#xff0c;但幸运的是&#xff0c;有多种解决方案可以帮助你顺利下载Docker镜像。以下是一些有效的解决方案&#xff1a; 配置Docker镜像源&#xff1a;你可以通过配置Docker的daemon.json文件来使用国内镜像源&#xff0c;比如DaoC…

四、GD32 MCU 常见外设介绍(8)SPI 模块介绍

串行外设接口&#xff08;Serial Peripheral Interface&#xff0c;缩写为 SPI&#xff09; 提供了基于SPI 协议的数据发送和接收功能&#xff0c; 可以工作于主机或从机模式。 SPI 接口支持具有硬件 CRC 计算和校验的全双工和单工模式。 8.1.SPI 基础知识 SPI 物理层 SPI接…