Vue+Echarts 实现青岛自定义样式地图

一、效果

二、代码

<template><div class="chart-box"><chart ref="chartQingdao" style="width: 100%; height: 100%;" :options="options" autoresize></chart></div>
</template>
<script>
import Chart from "vue-echarts"
import { qingdao_bg, marker } from '../images/index.js'export default {components: {chart: Chart},data () {return {timer: null,index: -1,regionList: [{value: '370202',name: '市南区'},{value: '370203',name: '市北区'},{value: '370211',name: '黄岛区'},{value: '370212',name: '崂山区'},{value: '370213',name: '李沧区'},{value: '370214',name: '城阳区'},{value: '370215',name: '即墨区'},{value: '370281',name: '胶州市'},{value: '370283',name: '平度市'},{value: '370285',name: '莱西市'}],options: {}}},computed: {mapJson() {return require(`./370200.json`);},maxIndex () {return this.regionList.length-1;}},watch: {index (val) {if(val>-1) {this.$refs.chartQingdao.dispatchAction({type: 'showTip',seriesIndex: 0,dataIndex: this.index});}}},methods: {async draw () {let image = document.createElement('img'), symbol = document.createElement('img');image.src = qingdao_bg; //主体地图星空一样的背景(若背景未覆盖主体地图全部,一、调整背景图片大小;二、调整主体地图的aspectScale、layoutSize值)symbol.src = marker; //每个地图区域的iconChart.registerMap('qingdao', this.mapJson);this.options = {tooltip: { //鼠标移至地图区域,区域详情的展示设置axisPointer: {type: 'none'},padding: 0,position: (point) => {return [point[0], point[1]];},backgroundColor: 'rgba(50, 50, 50, 0)',className: 'custom-tooltip-box',formatter: (params) => {return '<div class="custom-tooltip-box">'+ params.name+'</div>';}},geo: [{ //最上层我们看到的地图主体map: "qingdao",aspectScale: 0.75, layoutSize: '80%',layoutCenter: ['52%', '50%'],zoom: 1,roam: false},{ //主体地图的粗边框(实际我觉得并没有效果)map: "qingdao",aspectScale: 0.75, layoutSize: '80%',layoutCenter: ['52%', '50%'],zoom: 1,roam: false,silent: true,itemStyle: {borderColor: '#63E9F2',borderWidth: 5}},{ //主体地图后的地图影子map: "qingdao",aspectScale: 0.75, layoutSize: '84%',layoutCenter: ['52%', '51%'],zoom: 1,roam: false,silent: true,itemStyle: {areaColor: '#012D57',borderColor: '#areaColor',borderWidth: 1},emphasis: {itemStyle: {areaColor: '#012D57',borderColor: '#areaColor',borderWidth: 1}}}],series: [{type: 'map',mapType: 'qingdao',aspectScale: 0.75,layoutSize: '80%',layoutCenter: ['52%', '50%'],zoom: 1,roam: false, label: {normal: {show: true,formatter: (params) => {return `{marker| }\n\n{name| ${params.name}}`;},rich: {marker: {width: 24,height: 30,backgroundColor: {image: symbol}},name: {fontFamily: 'PingFangSC',fontSize: 18,fontWeight: 600,color: '#C6DFFF'}}},emphasis: {color: 'rgba(0, 0, 0, 0)'}},itemStyle: {areaColor: {image: image,repeat: 'no-repeat'},borderColor: '#63E9F2',borderWidth: 1,shadowBlur: 29,shadowColor: 'rgba(73, 150, 255, 0.5)'},emphasis: {itemStyle: {areaColor: {image: image,repeat: 'no-repeat'}}},data: this.regionList}]};this.$nextTick(() => {this.switchRegion();this.setTimer();this.$refs.chartQingdao.chart.on('mouseover', (params) => {this.$emit('switch-region', {active: String(params.value),header: `${params.name}参保征缴情况`});this.clearTimer();});this.$refs.chartQingdao.chart.on('mouseout', () => {this.setTimer();});});},switchRegion () {this.index===this.maxIndex?this.index=0:this.index++;this.$emit('switch-region', {active: this.regionList[this.index].value,header: `${this.regionList[this.index].name}参保征缴情况`});},setTimer () { //轮播地图区域,展示区域详情的定时器let _this = this;this.timer = setInterval(() => {_this.switchRegion();}, 5000);},clearTimer () {clearInterval(this.timer);this.timer = null;}},mounted () {this.draw();},destroyed() {this.clearTimer();}
}
</script>
<style scoped lang="less">
.chart-box{width: 100%;height: 630px;
}
/deep/ .custom-tooltip-box {width: 316px;height: 123px;padding-left: 110px;background-image: url('../images/tooltip_bg.png');font-family: 'PingFangSC';font-size: 20px;font-weight: 600;line-height: 148px;text-align: center;color: #B5F1FF;
}
</style>

三、代码引用资源下载地址

https://download.csdn.net/download/hrcsdn13/90325739

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

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

相关文章

漏洞扫描工具之xray

下载地址&#xff1a;https://github.com/chaitin/xray/releases 1.9.11 使用文档&#xff1a;https://docs.xray.cool/tools/xray/Scanning 与burpsuite联动&#xff1a; https://xz.aliyun.com/news/7563 参考&#xff1a;https://blog.csdn.net/lza20001103/article/details…

WordPress eventon-lite插件存在未授权信息泄露漏洞(CVE-2024-0235)

免责声明: 本文旨在提供有关特定漏洞的深入信息,帮助用户充分了解潜在的安全风险。发布此信息的目的在于提升网络安全意识和推动技术进步,未经授权访问系统、网络或应用程序,可能会导致法律责任或严重后果。因此,作者不对读者基于本文内容所采取的任何行为承担责任。读者在…

嵌入式知识点总结 Linux驱动 (七)-Linux驱动常用函数 uboot命令 bootcmd bootargs get_part env_get

针对于嵌入式软件杂乱的知识点总结起来&#xff0c;提供给读者学习复习对下述内容的强化。 目录 1.ioremap 2.open 3.read 4.write 5.copy_to_user 6.copy_from_user 7.总结相关uboot命令以及函数 1.bootcmd 1.1.NAND Flash操作命令 2.bootargs 2.1 root 2.2 rootf…

《STL基础之vector、list、deque》

【vector、list、deque导读】vector、list、deque这三种序列式的容器&#xff0c;算是比较的基础容器&#xff0c;也是大家在日常开发中常用到的容器&#xff0c;因为底层用到的数据结构比较简单&#xff0c;笔者就将他们三者放到一起做下对比分析&#xff0c;介绍下基本用法&a…

Windows中本地组策略编辑器gpedit.msc打不开/微软远程桌面无法复制粘贴

目录 背景 解决gpedit.msc打不开 解决复制粘贴 剪贴板的问题 启用远程桌面剪贴板与驱动器 重启RDP剪贴板监视程序 以上都不行&#xff1f;可能是操作被Win11系统阻止 最后 背景 远程桌面无法复制粘贴&#xff0c;需要查看下主机策略组设置&#xff0c;结果按WinR输入…

高精度加法乘法

高精度加法&乘法都是把数字转化成数组进行运算&#xff0c;存储 高精度加法 建议多在纸上画画&#xff0c;梳理思路 代码实现 输入字符串 //初始化数组存储 int a[250]{0}; int b[250]{0}; int c[251]{0}; //定义字符串&#xff0c;输入字符串 string s1,s2; getline(c…

Python 列表思维导图

Python 列表思维导图 腾讯云盘下载连接 https://share.weiyun.com/Ri6bUJed

获取snmp oid的小方法1(随手记)

snmpwalk遍历设备的mib # snmpwalk -v <SNMP version> -c <community-id> <IP> . snmpwalk -v 2c -c test 192.168.100.201 .根据获取的值&#xff0c;找到某一个想要的值的oid # SNMPv2-MIB::sysName.0 STRING: test1 [rootzabbix01 fonts]# snmpwalk -v…

【leetcode练习·二叉树】计算完全二叉树的节点数

本文参考labuladong算法笔记[拓展&#xff1a;如何计算完全二叉树的节点数 | labuladong 的算法笔记] 如果让你数一下一棵普通二叉树有多少个节点&#xff0c;这很简单&#xff0c;只要在二叉树的遍历框架上加一点代码就行了。 但是&#xff0c;力扣第第 222 题「完全二叉树的…

【C++语言】卡码网语言基础课系列----5. A+B问题VIII

文章目录 练习题目AB问题VIII具体代码实现 小白寄语诗词共勉 练习题目 AB问题VIII 题目描述&#xff1a; 你的任务是计算若干整数的和。 输入描述&#xff1a; 输入的第一行为一个整数N&#xff0c;接下来N行每行先输入一个整数M&#xff0c;然后在同一行内输入M个整数。 输出…

《大数据时代“快刀”:Flink实时数据处理框架优势全解析》

在数字化浪潮中&#xff0c;数据呈爆发式增长&#xff0c;实时数据处理的重要性愈发凸显。从金融交易的实时风险监控&#xff0c;到电商平台的用户行为分析&#xff0c;各行业都急需能快速处理海量数据的工具。Flink作为一款开源的分布式流处理框架&#xff0c;在这一领域崭露头…

WebStorm安装及配置迁移

一、安装 官方下载安装包 WebStorm&#xff1a;JetBrains 出品的 JavaScript 和 TypeScript IDE 适用于2024版本及以下 按需安装后重启电脑 运行WebStorm,注意不要选择大陆地区&#xff0c;语言不选择中文&#xff0c;运行激活文件 二、配置迁移 根据已有软件导出相关配置…

ARM内核:嵌入式时代的核心引擎

引言 在当今智能设备无处不在的时代&#xff0c;ARM&#xff08;Advanced RISC Machines&#xff09;处理器凭借其高性能、低功耗的特性&#xff0c;成为智能手机、物联网设备、汽车电子等领域的核心引擎。作为精简指令集&#xff08;RISC&#xff09;的典范&#xff0c;ARM核…

离线大模型-通义千问

关部署离线模型的教程就不写了&#xff0c;百度一搜一大堆 Kamailio介绍 1. Kamailio介绍 user: 您了解kamailio吗&#xff1f;assistant: 是的&#xff0c;我了解Kamailio。Kamailio是一个开源的SIP服务器和代理&#xff0c;用于处理VoIP&#xff08;Voice over Internet…

Spring Boot是什么及其优点

简介 Spring Boot是基于Spring框架开发的全新框架&#xff0c;其设计目的是简化Spring应用的初始化搭建和开发过程。 Spring Boot整合了许多框架和第三方库配置&#xff0c;几乎可以达到“开箱即用”。 优点 可快速构建独立的Spring应用。 直接嵌入Tomcat、Jetty和Underto…

FOC核心原理的C语言实现

概述 应用FOC算法&#xff0c;比如无人机、电动汽车或工业电机控制。因此&#xff0c;除了理论&#xff0c;还需要提供实用的实现步骤、常见问题及解决方案&#xff0c;比如如何获取电机的位置信息&#xff08;编码器或传感器&#xff09;&#xff0c;如何处理电流采样&#x…

前端学习-事件委托(三十)

目录 前言 课前思考 for循环注册事件 语法 事件委托 1.事件委托的好处是什么? 2.事件委托是委托给了谁&#xff0c;父元素还是子元素 3.如何找到真正触发的元素 示例代码 总结 前言 才子佳人&#xff0c;自是白衣卿相 课前思考 1.如果同时给多个元素注册事件&…

缩位求和——蓝桥杯

1.题目描述 在电子计算机普及以前&#xff0c;人们经常用一个粗略的方法来验算四则运算是否正确。 比如&#xff1a;248153720248153720 把乘数和被乘数分别逐位求和&#xff0c;如果是多位数再逐位求和&#xff0c;直到是 1 位数&#xff0c;得 24814>145 156 56 而…

万用表使用

目录 0 万用表表盘符号说明 测量功能符号 其他符号 表盘刻度符号 一、万用表的类型和功能 二、万用表的基本功能 三、万用表的使用步骤 四、万用表的注意事项 万用表是一种多功能、多量程的测量仪表,广泛应用于电子电路、电气设备的检测和维修中。以下是万用表的使用方…

Hypium+python鸿蒙原生自动化安装配置

Hypiumpython自动化搭建 文章目录 Python安装pip源配置HDC安装Hypium安装DevEco Testing Hypium插件安装及使用方法​​​​​插件安装工程创建区域 Python安装 推荐从官网获取3.10版本&#xff0c;其他版本可能出现兼容性问题 Python下载地址 下载64/32bitwindows安装文件&am…