当前位置: 首页 > news >正文

vue3 腾讯地图 InfoWindow 弹框

1、vue项目index.html引入地图js

2、页面使用

<script setup lang="ts">
import { useMapStore } from '/@/store';defineOptions({ name: 'PageMap' });
const emits = defineEmits(['update:area', 'update:address', 'update:latitude', 'update:longitude']);
const props = defineProps({area: { type: Array, default: () => [] },address: { type: String, default: '' },latitude: { type: [String, Number], default: '' },longitude: { type: [String, Number], default: '' },
});
const useMap = useMapStore();
const { location } = storeToRefs(useMap);
const position = new TMap.LatLng(location.value.lat, location.value.lng);
const initMap = async () => {// const TMap = (window as any).TMap;window.map = null;window.markerLayer = null;window.infoWindow = null;const center = new TMap.LatLng(location.value.lat, location.value.lng); //定义map变量,调用 TMap.Map() 构造函数创建地图const dom = document.getElementById('ref_map');window.map = new TMap.Map(dom, {center, //设置地图中心点坐标zoom: 16, //设置地图缩放级别rotation: 45, //设置地图旋转角度});window.infoWindow = new TMap.InfoWindow({map: window.map,position,offset: { x: 0, y: -40 }, //设置信息窗相对position偏移像素,为了使其显示在Marker的上方content:'<div class="map el-popper is-light el-popover el-popover--plain" style="z-index: 2070; position: absolute; padding: 0">\n' +'\t\t\t<div class="font-bold p-2 border-b">测试标题</div>\n' +'\t\t\t<div class="pl-3 pr-3 pb-4 pt-2 text-sm">\n' +'\t\t\t\t<div><span>联系人:</span><span>张三</span></div>\n' +'\t\t\t\t<div><span>电话:</span><span>187****2342</span></div>\n' +'\t\t\t</div>\n' +'\t\t\t<span class="el-popper__arrow" style="position: absolute; left: calc(50% - 5px); bottom: -5px"></span>\n' +'\t\t</div>',enableCustom: true,});window.infoWindow.close();updateLayer(position);
};
// 更新定位点
const updateLayer = (position: any) => {const layer = {id: '4',position,styleId: 'myStyle',properties: {//自定义属性title: 'marker1',},};if (window.markerLayer != null) window.markerLayer.updateGeometries([layer]);else {window.markerLayer = new TMap.MultiMarker({map: window.map,geometries: [layer],styles: {//创建一个styleId为"myStyle"的样式(styles的子属性名即为styleId)myStyle: new TMap.MarkerStyle({width: 50, // 点标记样式宽度(像素)height: 50, // 点标记样式高度(像素)src: '/images/emergency-location.png', //图片路径//焦点在图片中的像素位置,一般大头针类似形式的图片以针尖位置做为焦点,圆形点以圆心位置为焦点anchor: { x: 25, y: 32 },enableRelativeScale: true, // 是否开启相对缩放relativeScaleOptions: {scaleZoom: 15, // 设置marker图片宽高像素单位与zoom级别的瓦片像素相同的层级 如当设置为18时,zoom小于18marker会被缩小直至达到minScale设置的最小缩放倍数,大于时marker直至达到maxScale设置的最大缩放倍数;enableRelativeScale为true时生效,默认18minScale: 0.2, // 设置marker最小缩放倍数,enableRelativeScale为true时生效,默认0.5maxScale: 1, // 设置marker最大缩放倍数,enableRelativeScale为true时生效,默认1},}),},});window.markerLayer.on('click', clickMarkerHandler);}
};
const clickMarkerHandler = (evt) => {console.log(evt);window.infoWindow.open(); //打开信息窗window.infoWindow.setPosition(evt.geometry.position); //设置信息窗位置// window.infoWindow.setContent(evt.geometry.position.toString()); //设置信息窗内容
};
onUnmounted(() => {window.markerLayer?.off('click', clickMarkerHandler);// window.map.
});
onMounted(() => {nextTick(() => {setTimeout(() => initMap(), 500);});
});
</script><template><div class="p-4 h-full w-full flex"><div id="ref_map" ref="refMap" style="height: 99%; width: 100%" /></div>
</template>
<style>
.map.el-popper.is-light > .el-popper__arrow:before {border: 0 !important;
}
</style>

3、实际效果, 弹框样式直接使用element的

相关文章:

vue3 腾讯地图 InfoWindow 弹框

1、vue项目index.html引入地图js 2、页面使用 <script setup lang"ts"> import { useMapStore } from //store;defineOptions({ name: PageMap }); const emits defineEmits([update:area, update:address, update:latitude, update:longitude]); const prop…...

【Linux】解锁进程间通信奥秘,高效资源共享的实战技巧

管道、共享内存、消息队列、信号量 1. 进程间通信1.1. 目的1.2. 概念和本质1.3. 分类 2. 管道2.1 概念2.2. 4种情况2.3. 4种特性2.4. 匿名管道2.4.1. 原理2.4.2. 概念2.4.3. 创建 — pipe()2.4.4. 应用场景 — 进程池 2.5. 命名管道2.5.1. 概念和原理2.5.2. 创建 — mkfifo()2.…...

O1 Nano:OpenAI O1模型系列的简化开源版本

概览 O1 Nano 是一个开源项目&#xff0c;它实现了 OpenAI O1 模型系列的简化版本。O1 模型是一个高级语言模型&#xff0c;它在训练和推理过程中整合了链式思维和强化学习。这个实现版本&#xff0c;称为 O1-nano&#xff0c;专注于解决算术问题&#xff0c;以展示模型的能力。…...

浅谈人工智能之Llama3微调后使用cmmlu评估

浅谈人工智能之Llama3微调后使用cmmlu评估 引言 随着自然语言处理&#xff08;NLP&#xff09;技术的发展&#xff0c;各类语言模型如雨后春笋般涌现。其中&#xff0c;Llama3作为一个创新的深度学习模型&#xff0c;已经在多个NLP任务中展示了其强大的能力。然而&#xff0c…...

为什么需要MQ?MQ具有哪些作用?你用过哪些MQ产品?请结合过往的项目经验谈谈具体是怎么用的?

需要使用MQ的主要原因包括以下几个方面‌&#xff1a; ‌异步处理‌&#xff1a;在分布式系统中&#xff0c;使用MQ可以实现异步处理&#xff0c;提高系统的响应速度和吞吐量。例如&#xff0c;在用户注册时&#xff0c;传统的做法是串行或并行处理发送邮件和短信&#xff0c;这…...

Flutter项目打包ios, Xcode 发布报错 Module‘flutter barcode_scanner‘not found

报错图片 背景 flutter 开发的 apple app 需要发布新版本&#xff0c;但是最后一哆嗦碰到个报错&#xff0c;这个小问题卡住了我一天&#xff0c;之间的埪就不说了&#xff0c;直接说我是怎么解决的&#xff0c;满满干货 思路 这个报错 涉及到 flutter_barcode_scanner; 所…...

RWSENodeEncoder, KER_DIM_PE(lrgb文件中的encoders文件中的kernel.py)

该代码实现了一个基于核的节点编码器 KernelPENodeEncoder,用于在图神经网络中将特定的核函数编码(例如随机游走结构编码 RWSE)与节点特征相结合。通过将预先计算的核统计信息(如 RWSE 等)与原始节点特征结合,该编码器可以帮助模型捕捉图中节点的结构信息。该代码还定义了…...

技术文档:基于微信朋友圈的自动点赞工具开发

概述 该工具是一款基于 Windows 平台的自动化操作工具&#xff0c;通过模拟人工点击&#xff0c;实现微信朋友圈的自动点赞。主要适用于需频繁维护客户关系的用户群体&#xff0c;避免手动重复操作&#xff0c;提高用户的互动效率。 官方地址: aisisoft.top 一、开发背景与技术…...

kubernetes_pods资源清单及常用命令

示例&#xff1a; apiVersion: v1 kind: Pod metadata:name: nginx-podnamespace: defaultlabels:app: nginx spec:containers:- name: nginx-containerimage: nginx:1.21ports:- containerPort: 80多个容器运行示例 apiVersion: v1 kind: Pod metadata:name: linux85-nginx-…...

科目二侧方位停车全流程

科目二侧方位停车是驾考中的重要项目&#xff0c;主要评估驾驶员将车辆准确停放在道路右侧停车位的能力。以下是对科目二侧方位停车的详细解析&#xff1a; 请点击输入图片描述&#xff08;最多18字&#xff09; 一、考试要求 车辆需在库前右侧稳定停车&#xff0c;随后一次性…...

2024源鲁杯CTF网络安全技能大赛题解-Round2

排名 欢迎关注公众号【Real返璞归真】不定时更新网络安全相关技术文章&#xff1a; 公众号回复【2024源鲁杯】获取全部Writeup&#xff08;pdf版&#xff09;和附件下载地址。&#xff08;Round1-Round3&#xff09; Misc Trace 只能说题出的太恶心了&#xff0c;首先获得一…...

10.24学习

1.const 在编程中&#xff0c; const 关键字通常用来定义一个常量。常量是程序运行期间其值不能被改变的变量。使用 const 可以提高代码的可读性和可靠性&#xff0c;因为它可以防止程序中意外修改这些值。 不同编程语言中 const 的用法可能略有不同&#xff0c;以下是一…...

社交媒体与客户服务:新时代的沟通桥梁

在数字化时代&#xff0c;社交媒体已成为人们日常生活中不可或缺的一部分&#xff0c;它不仅改变了人们的沟通方式&#xff0c;也深刻影响着企业的客户服务模式。从传统的电话、邮件到如今的社交媒体平台&#xff0c;客户服务的渠道正在经历一场前所未有的变革。社交媒体以其即…...

设置虚拟机与windows间的共享文件夹

在 VMware Workstation 或 VMware Fusion 中设置共享文件夹的具体步骤如下&#xff1a; 1. 启用共享文件夹 对于 VMware Workstation 打开 VMware Workstation&#xff1a; 启动 VMware Workstation&#xff0c;找到你要设置共享文件夹的虚拟机。 设置虚拟机&#xff1a; 选…...

微信小程序性能优化 ==== 合理使用 setData 纯数据字段

目录 1. setData 的流程 2. 数据通信 3. 使用建议 3.1 data 应只包括渲染相关的数据 3.2 控制 setData 的频率 3.3 选择合适的 setData 范围 3.4 setData 应只传发生变化的数据 3.5 控制后台态页面的 setData 纯数据字段 组件数据中的纯数据字段 组件属性中的纯数据…...

【加密系统】华企盾DSC服务台提示:请升级服务器,否则可能导致客户端退回到旧服务器的版本

华企盾DSC服务台提示&#xff1a;请升级服务器&#xff0c;否则可能导致客户端退回到旧服务器的版本 产生的原因&#xff1a;控制台版本比服务器高导致控制台出现报错 解决方案 方法&#xff1a;将控制台回退到原来的使用版本&#xff0c;在控制台负载均衡查看连接该服务器各个…...

直连南非,服务全球,司库直联再进一步

yonyou 在全球化经济背景下&#xff0c;中国企业不断加快“走出去”的步伐&#xff0c;寻求更广阔的发展空间。作为非洲大陆经济最发达的国家之一&#xff0c;南非以其丰富的自然资源、完善的金融体系和多元化的市场&#xff0c;成为中国企业海外投资与合作的热门目的地。 作为…...

【spring】从spring是如何避免并发下获取不完整的bean引发的思考 什么是双重检查锁 什么是java内存模型

本文将通过简述spring是如何避免并发下获取不完整的bean&#xff0c;延伸出双重检查锁、volatile、JMM的概念&#xff0c;将这些知识点都串联起来&#xff1b; 若发现错误&#xff0c;非常欢迎在评论区指出&#xff1b;csdn博主&#xff1a;孟秋与你 文章目录 双重检查锁(Doubl…...

【计算机网络一】网络学习前置知识

目录 网络中必备概念 1.什么是局域网与广域网&#xff1f; 2.什么是IP地址 3.什么是端口号 4.什么是协议 5.OSI七层模型 6.TCP/IP四层模型 网络中必备概念 本篇文章旨在分享一些计算机网络中的常见概念&#xff0c;对于初学者或者准备学习计算机网络的人会有帮助。 1.什么…...

nuScenes数据集使用的相机的外参和内参

因为需要用不同数据集测试对比效果&#xff0c;而一般的模型代码里实现的检测结果可视化都是使用open3d的Visualizer在点云上画的3d框&#xff0c;展示出来的可视化效果很差&#xff0c;可能是偷懒&#xff0c;没有实现将检测结果投影到各相机的图像上&#xff0c;所以检测效果…...

AI-调查研究-01-正念冥想有用吗?对健康的影响及科学指南

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; &#x1f680; AI篇持续更新中&#xff01;&#xff08;长期更新&#xff09; 目前2025年06月05日更新到&#xff1a; AI炼丹日志-28 - Aud…...

eNSP-Cloud(实现本地电脑与eNSP内设备之间通信)

说明&#xff1a; 想象一下&#xff0c;你正在用eNSP搭建一个虚拟的网络世界&#xff0c;里面有虚拟的路由器、交换机、电脑&#xff08;PC&#xff09;等等。这些设备都在你的电脑里面“运行”&#xff0c;它们之间可以互相通信&#xff0c;就像一个封闭的小王国。 但是&#…...

SkyWalking 10.2.0 SWCK 配置过程

SkyWalking 10.2.0 & SWCK 配置过程 skywalking oap-server & ui 使用Docker安装在K8S集群以外&#xff0c;K8S集群中的微服务使用initContainer按命名空间将skywalking-java-agent注入到业务容器中。 SWCK有整套的解决方案&#xff0c;全安装在K8S群集中。 具体可参…...

label-studio的使用教程(导入本地路径)

文章目录 1. 准备环境2. 脚本启动2.1 Windows2.2 Linux 3. 安装label-studio机器学习后端3.1 pip安装(推荐)3.2 GitHub仓库安装 4. 后端配置4.1 yolo环境4.2 引入后端模型4.3 修改脚本4.4 启动后端 5. 标注工程5.1 创建工程5.2 配置图片路径5.3 配置工程类型标签5.4 配置模型5.…...

基于距离变化能量开销动态调整的WSN低功耗拓扑控制开销算法matlab仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.算法仿真参数 5.算法理论概述 6.参考文献 7.完整程序 1.程序功能描述 通过动态调整节点通信的能量开销&#xff0c;平衡网络负载&#xff0c;延长WSN生命周期。具体通过建立基于距离的能量消耗模型&am…...

微软PowerBI考试 PL300-选择 Power BI 模型框架【附练习数据】

微软PowerBI考试 PL300-选择 Power BI 模型框架 20 多年来&#xff0c;Microsoft 持续对企业商业智能 (BI) 进行大量投资。 Azure Analysis Services (AAS) 和 SQL Server Analysis Services (SSAS) 基于无数企业使用的成熟的 BI 数据建模技术。 同样的技术也是 Power BI 数据…...

【入坑系列】TiDB 强制索引在不同库下不生效问题

文章目录 背景SQL 优化情况线上SQL运行情况分析怀疑1:执行计划绑定问题?尝试:SHOW WARNINGS 查看警告探索 TiDB 的 USE_INDEX 写法Hint 不生效问题排查解决参考背景 项目中使用 TiDB 数据库,并对 SQL 进行优化了,添加了强制索引。 UAT 环境已经生效,但 PROD 环境强制索…...

使用van-uploader 的UI组件,结合vue2如何实现图片上传组件的封装

以下是基于 vant-ui&#xff08;适配 Vue2 版本 &#xff09;实现截图中照片上传预览、删除功能&#xff0c;并封装成可复用组件的完整代码&#xff0c;包含样式和逻辑实现&#xff0c;可直接在 Vue2 项目中使用&#xff1a; 1. 封装的图片上传组件 ImageUploader.vue <te…...

python爬虫:Newspaper3k 的详细使用(好用的新闻网站文章抓取和解析的Python库)

更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、Newspaper3k 概述1.1 Newspaper3k 介绍1.2 主要功能1.3 典型应用场景1.4 安装二、基本用法2.2 提取单篇文章的内容2.2 处理多篇文档三、高级选项3.1 自定义配置3.2 分析文章情感四、实战案例4.1 构建新闻摘要聚合器…...

数据库分批入库

今天在工作中&#xff0c;遇到一个问题&#xff0c;就是分批查询的时候&#xff0c;由于批次过大导致出现了一些问题&#xff0c;一下是问题描述和解决方案&#xff1a; 示例&#xff1a; // 假设已有数据列表 dataList 和 PreparedStatement pstmt int batchSize 1000; // …...