echart 实现自定义地图

先上效果图
在这里插入图片描述
需求:自定义区域平面图,支持区域高亮

// 2D详情const initChartsMapItemB = async (flow: any,  mapbg: any) => {// mapbg 为svg的地址 import mapbg from '/@/assets/json/map/F42d.svg'const svgData = (await request.get(mapbg)) as anyecharts.registerMap('WDGCMap', { svg: svgData })const homeChartItemAMap2D  = echarts.init(homeMapItemARef2D.value, state.charts.theme)const option = {legend: {orient: 'vertical',right: '90%',top: 'center',itemWidth: 40,itemHeight: 40,itemGap: 18,data: ['保洁工单', '设备工单', '巡检工单', '维保工单'],textStyle: {align: 'left',verticalAlign: 'middle',height: 10,color: '#fff',},},geo: {map: 'WDGCMap',roam: true,selectedMode: 'single', //选择模式,单选,只能选中一个地市//这个就是鼠标点击后高亮状态,地图想要展示的配置select: {disabled: false, //可以被选中label: {show: true,color: '#fff',},//相关配置项很多,可以参考echarts官网itemStyle: {borderColor: '#29bbd8',areaColor: '#3bb8f7', //'rgba(59, 184, 247, 1)',shadowBlur: 3,borderWidth: 1,shadowOffsetX: 2,shadowOffsetY: 2,shadowColor: '#3bb8f7',opacity: 0.8,},},		},series: [{tooltip: {show: false,},type: 'effectScatter',coordinateSystem: 'geo',rippleEffect: {scale: 10,brushType: 'stroke',},showEffectOn: 'render',itemStyle: {normal: {color: '#00FFFF',},},label: {normal: {show: false,color: '#fff',},},symbol: 'circle',symbolSize: [10, 5],data: [[0, 0],[1200, 800],],zlevel: 1,},{name: '保洁工单',type: 'scatter',coordinateSystem: 'geo',itemStyle: {color: '#f00',},tooltip: {show: false,},symbol: 'image://' + user,symbolSize: [40, 40],symbolOffset: [0, -20],data: flow.cleanOrderInfo,label: {normal: {show: false,color: '#fff',},emphasis: {show: true,padding: [10, 20],color: '#fff',backgroundColor: '#1a3961',borderColor: '#aee9fb',borderWidth: 1,borderRadius: 6,formatter(params) {console.log(params)let arr = ['工单编号:' + params.data.code,'工单类型:' + params.data.type,'保洁人员:' + params.data.nickName,// '人员工龄:' + params.data.seniority,// '联系方式:' + params.data.contact,// '个人介绍:' + params.data.describe,]return arr.join('\n')},textStyle: {align: 'left',lineHeight: 20,},},},},{name: '设备工单',type: 'scatter',coordinateSystem: 'geo',itemStyle: {color: '#f00',},tooltip: {show: false,},symbol: 'image://' + device,symbolSize: [40, 40],symbolOffset: [0, -20],// z: 9999,data: flow.deviceInfo,label: {normal: {show: false,color: '#fff',},emphasis: {show: true,padding: [10, 20],color: '#fff',backgroundColor: '#1a3961',borderColor: '#aee9fb',borderWidth: 1,borderRadius: 6,formatter(params) {let arr = ['设备编号:' + params.data.code, '设备状态:' + params.data.state, '设备描述:' + params.data.describe]return arr.join('\n')},textStyle: {align: 'left',lineHeight: 20,},},},},{name: '巡检工单',type: 'scatter',coordinateSystem: 'geo',itemStyle: {color: '#f00',},tooltip: {show: false,},symbol: 'image://' + inspection,symbolSize: [40, 40],symbolOffset: [0, -20],// z: 9999,data: flow.alsoOrderInfo,label: {normal: {show: false,color: '#fff',},emphasis: {show: true,padding: [10, 20],color: '#fff',backgroundColor: '#1a3961',borderColor: '#aee9fb',borderWidth: 1,borderRadius: 6,formatter(params) {let arr = ['巡检编号:' + params.data.code, '巡检状态:' + params.data.type, '巡检名称:' + params.data.nickName]return arr.join('\n')},textStyle: {align: 'left',lineHeight: 20,},},},},{name: '维保工单',type: 'scatter',coordinateSystem: 'geo',itemStyle: {color: '#f00',},tooltip: {show: false,},symbol: 'image://' + order,symbolSize: [40, 40],symbolOffset: [0, -20],// z: 9999,data: flow.deviceOrderInfo,label: {normal: {show: false,color: '#fff',},emphasis: {show: true,padding: [10, 20],color: '#fff',backgroundColor: '#1a3961',borderColor: '#aee9fb',borderWidth: 1,borderRadius: 6,formatter(params) {if (params.data.type === '报修') {let arr = ['工单编号:' + params.data.code, '工单类型:' + params.data.type, '维保人员:' + params.data.nickName]return arr.join('\n')} else {let arr = ['工单编号:' + params.data.code, '工单类型:' + params.data.type, '保洁人员:' + params.data.nickName]return arr.join('\n')}},textStyle: {align: 'left',lineHeight: 20,},},},},],}homeChartItemAMap2D.setOption(option)
}
// 查看区域点击事件 需要实现改功能,svg对应区域的name和按钮传入的name要保持一直
const btnClick = () => {homeChartItemAMap2D.dispatchAction({type: 'geoSelect',name: '公共区域',})
}

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

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

相关文章

WPF应用程序(.Net Framework 4.8) 国际化

1、新建两个资源字典文件zh-CN.xaml和en-US.xaml&#xff0c;分别存储中文模板和英文模板 (1) zh-CN.xaml <ResourceDictionary xmlns"http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x"http://schemas.microsoft.com/winfx/2006/xaml&q…

基于链表实现贪吃蛇游戏

本文中&#xff0c;我们将使用链表和一些Win32 API的知识来实现贪吃蛇小游戏 一、功能 &#xff08;1&#xff09;游戏载入界面 &#xff08;2&#xff09;地图的绘制 &#xff08;3&#xff09;蛇身的移动和变长 &#xff08;4&#xff09;食物的生成 &#xff08;5&…

CentOS 7 部署 ZeroTier Moon 节点

ZeroTier是一套使用UDP协议构建的SD-WAN网络软件&#xff0c;其主要有三部分组成&#xff1a;行星服务器Planet、月亮服务器Moon、客户端节点LEFA&#xff0c;行星服务器是ZeroTier的根节点&#xff0c;可以采用ZeroTier官方的服务器&#xff0c;也可以使用开源代码自行搭建 月…

JAVA处理类似饼状图占比和100%问题,采用最大余额法

前言&#xff1a; 在做数据统计报表的时候&#xff0c;有两种方式解决占比总和达不到100%或者超过100%问题。 第一种方式是前端echart图自带的算分框架。 第二种方式是java后端取处理这个问题。 现存问题&#xff1a; 前端通过饼状图的方式去展示各个分类的占比累加和为100%问题…

公司宣传电子画册的制作方法

​制作公司宣传电子画册是一种非常有效的方式&#xff0c;可以展示公司的形象和产品&#xff0c;同时也可以吸引更多的潜在客户。不仅低碳环保&#xff0c;还省了不少人力和财力&#xff0c;只要一个二维码、一个链接就能随时随地访问公司的宣传画册。以下是一些制作电子画册的…

TSINGSEE青犀视频智慧电梯管理平台,执行精准管理、提升乘梯安全

一、方案背景 随着城市化进程的不断加快&#xff0c;我国已经成为全球最大的电梯生产和消费市场&#xff0c;电梯也成为人们日常生活中不可或缺的一部分。随着电梯数量的激增&#xff0c;电梯老龄化&#xff0c;维保数据不透明&#xff0c;物业管理成本高&#xff0c;政府监管…

openGauss学习笔记-211 openGauss 数据库运维-高危操作一览表

文章目录 openGauss学习笔记-211 openGauss 数据库运维-高危操作一览表211.1 禁止操作211.2 高危操作 openGauss学习笔记-211 openGauss 数据库运维-高危操作一览表 各项操作请严格遵守指导书操作&#xff0c;同时避免执行如下高危操作。 211.1 禁止操作 表1中描述在产品的操…

【golang】22、functional options | 函数式编程、闭包

文章目录 一、配置 Option1.1 options1.2 funcitonal options 一、配置 Option 1.1 options https://commandcenter.blogspot.com/2014/01/self-referential-functions-and-design.html I’ve been trying on and off to find a nice way to deal with setting options in a…

数学公式OCR识别php 对接mathpix api 使用公式编译器

数学公式OCR识别php 对接mathpix api 一、注册账号官网网址&#xff1a;https://mathpix.com 二、该产品支持多端使用注意说明&#xff08;每月10次&#xff09; 三、api 对接第一步创建create keyphp对接api这里先封装两个请求函数&#xff0c;get 和post &#xff0c;通过官方…

20240130在ubuntu20.04.6下卸载NVIDIA显卡的驱动

20240130在ubuntu20.04.6下卸载NVIDIA显卡的驱动 2024/1/30 12:58 缘起&#xff0c;为了在ubuntu20.4.6下使用whisper&#xff0c;以前用的是GTX1080M&#xff0c;装了535的驱动。 现在在PDD拼多多上了入手了一张二手的GTX1080&#xff0c;需要将安装最新的545的驱动程序&#…

VxTerm:SSH工具中的中文显示和乱码时的相关信息和一些基本的知识

当我们写的程序含有控制台(Console)输出时&#xff0c;如果输入内容包含中文时&#xff0c;我们一般需要知道下面的信息&#xff0c;才能正确的搞清楚怎么处理中文显示的问题&#xff1a; 1、实际程序或文件中的实际编码&#xff1a; Linux下的应用程序和文本文件&#xff0c;…

CVE-2024-0352 likeshop v2.5.7文件上传漏洞分析

本次的漏洞研究基于thinkPHP开发开的一款项目..... 漏洞描述 Likeshop是Likeshop开源的一个社交商务策略的完整解决方案&#xff0c;开源免费版基于thinkPHP开发。Likeshop 2.5.7.20210311及之前版本存在代码问题漏洞&#xff0c;该漏洞源于文件server/application/api/contr…

云原生Kubernetes: Ubuntu 安装 K8S 1.23版本(单Master架构) 及故障恢复

目录 一、实验 1.环境 2.安装 Ubuntu 3.连接Ubuntu 4.master节点安装docker 5.node节点安装docker 6.master节点安装K8S 7.添加K8S工作节点 8.安装网络插件calico 9.故障 10.故障恢复 11.测试k8s网络和coredns 二、问题 1.Ubuntu如何修改镜像源 2.Ubuntu和Windo…

DataTable.Load(reader)注意事项

对于在C#中操作数据库查询&#xff0c;这样的代码很常见&#xff1a; using var cmd ExecuteCommand(sql); using var reader cmd.ExecuteReader(); DataTable dt new DataTable(); dt.Load(reader); ...一般的查询是没问题的&#xff0c;但是如果涉及主键列的查询&#xf…

交叉注意力融合时域、频域特征的FFT + CNN-Transformer-CrossAttention轴承故障识别模型

目录 往期精彩内容&#xff1a; 前言 1 快速傅里叶变换FFT原理介绍 第一步&#xff0c;导入部分数据 第二步&#xff0c;故障信号可视化 第三步&#xff0c;故障信号经过FFT可视化 2 轴承故障数据的预处理 2.1 导入数据 2.2 制作数据集和对应标签 3 交叉注意力机制 …

网站地址怎么改成HTTPS?

现在&#xff0c;所有类型的网站都需要通过 HTTPS 协议进行安全连接&#xff0c;而实现这一目标的唯一方法是使用 SSL 证书。如果您不将 HTTP 转换为 HTTPS&#xff0c;浏览器和应用程序会将您网站的连接标记为不安全。 但用户询问如何将我的网站从 HTTP 更改为 HTTPS。在此页…

移动端设计规范 - 文字使用规范

这是一篇关于移动端产品界面设计时&#xff0c;文字大小的使用规范&#xff0c;前端人员如果能了解一点的话&#xff0c;在实际开发中和设计沟通时&#xff0c;节省沟通成本&#xff0c;也能提高设计落地开发时的还原度。 关于 在做移动端产品设计时&#xff0c;有时候使用文字…

【开源精选导航】GitHub-Chinese-Top-Charts:一榜在手,优质中文项目轻松找寻

各位热爱开源技术的朋友们&#xff0c;你们是否有过这样的困扰&#xff1a;面对浩瀚的GitHub海洋&#xff0c;想找寻那些具有高质量中文文档的优秀开源项目却无从下手&#xff1f;今天&#xff0c;我们就为大家揭晓一个宝藏般的开源项目——GitHub 中文项目集合&#xff08;访问…

二维数组移动,合并数值简易2048

2848简易核心运算 --多元素合并数组举例4*4 -- 星空露珠韩永旗制作 --数据合并并重新赋值 --多元素合并数组举例4*4 -- 星空露珠韩永旗制作 --数据合并并重新赋值 local data{{0,2,0,2}, {4,2,0,8}, {8,0,8,4}, {2,2,4,8}} local ch{{1…

【Node.js基础】Node.js的介绍与安装

文章目录 前言一、什么是Node.js&#xff1f;二、安装Node.js2.1 Windows系统2.2 macOS系统2.3 Linux系统 三、运行js代码总结 前言 随着互联网技术的不断发展&#xff0c;构建高性能、实时应用的需求日益增长。Node.js作为一种服务器端运行时环境&#xff0c;以其事件驱动、非…