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…

(delphi11最新学习资料) Object Pascal 学习笔记---第4章第1节(过程和函数)

第4章 过程与函数 ​ Object Pascal 语言&#xff08;以及 C 语言的类似功能&#xff09;强调的另一个重要思想是例程的概念&#xff0c;例程基本上是一系列具有唯一名称的语句&#xff0c;可以多次调用。例程&#xff08;或函数&#xff09;通过名称来调用&#xff0c;这样就…

基于链表实现贪吃蛇游戏

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

阿里云盘分享多文件方法

1、单次分享不超过100个文件/文件夹 2、分享的文件夹目录不超过15个子文件夹层级 3、文件夹里面的总文件数量不能超过4000个 其实限制的条件蛮高的&#xff0c;但是对于这么大容量的网盘&#xff0c;稍微一分享就会超过条件限制&#xff0c;有的人会拆分为好几个文件多次分享&a…

CentOS 7 部署 ZeroTier Moon 节点

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

基于python的城市旅游数据采集分析系统

基于python的城市旅游数据采集分析系统 "A Python-based City Tourism Data Collection and Analysis System" 下载链接&#xff1a;基于python的城市旅游数据采集分析系统 目录 目录 2 摘要 3 关键词 4 第一章 引言 4 1.1 研究背景 4 1.2 国内外研究现状 5 1.3 研究…

sql注入之union联合注入

一、Union注入 联合查询注入是联合两个表进行注入攻击&#xff0c;使用关键词 union select 对两个表进行联合查询。两个表的字段数要相同&#xff0c;不然会出现报错。列数相同 union 特性是显示两张表 我们就可以吧第一个参数变为------负--的 或者不存在的值 就行了 显示就…

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

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

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

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

Jmeter学习系列之三:测试计划详细介绍

目录 前言 步骤1:启动JMeter窗口 步骤2:添加/删除测试计划元素 步骤3:加载并保存测试计划元素。 步骤4:配置树元素 步骤5:保存JMeter测试计划 步骤6:运行JMeter测试计划

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…

人机认知何时、何处趋同?何时、何处趋异?

对于“算法与人类认知的差异”&#xff0c;人机认知是否应该趋同还是趋异&#xff0c;这是一个复杂的问题&#xff0c;没有简单的答案。 一方面&#xff0c;人机认知的趋同可以使人类能够更好地理解和利用算法的能力&#xff0c;从而提高工作效率和生活质量。趋同意味着人类可以…

数学公式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…

C++开发基础之生产者和消费者模型:实现多线程数据交换与同步

0.前言 在并发编程中&#xff0c;处理多个线程之间的数据交换和同步是一个常见而重要的挑战。生产者和消费者模型是一种经典的解决方案&#xff0c;它为我们提供了一种简单而灵活的方法来协调多个线程的操作。无论是构建消息队列、日志记录系统还是任务调度系统&#xff0c;生…