vue+echarts ----中国地图 下拉选择省份地图中的省份区域高亮显示以及飞线图的效果

vue+echarts ----中国地图 下拉选择省份地图中的省份区域高亮显示以及飞线图的效果

1、父组件核心代码:【@/utils/area的详细数据】、【@/utils/china详细数据】

<template><div class="center"><div class="digital"><el-selectpopper-class="selectz"v-model="areaValue"placeholder="请选择":popper-append-to-body="false"><el-optionv-for="item in areaListOptions":key="item.value":label="item.label":value="item.label"></el-option></el-select></div><!-- 中国地图 --><ChinaMapAnimation :chartData="chartData" :provinceName="areaValue"></ChinaMapAnimation></div></template>
<script>
import "@/utils/china"; //在[https://datav.aliyun.com/portal/school/atlas/area_selector]中下载全国的json数据
import areaList from '@/utils/area'; //下拉框的数据 
import ChinaMapAnimation from "./components/chinaMapAnimation.vue";
export default {components: {ChinaMapAnimation,},data() {return {areaListOptions: areaList, //中国区域数据areaValue: "全国",}},mounted() {this.areaListOptions.unshift({ value: "all", label: "全国" });},}</script><style scoped lang="scss">
.digital {// width: 350px;width: 100%;height: auto;position: absolute;// left: 28%;top: 2%;z-index: 99;text-align: center;::v-deep .el-input__inner {background-color: transparent;border: none;font-size: 36px;line-height: 50px;height: 50px;caret-color: transparent;letter-spacing: 6px;text-align: center;// font-weight: bold;color: #6690ff;text-shadow: 2px 2px #eee;padding: 0;}::v-deep .el-select .el-input .el-select__caret {font-size: 24px;color: #6690ff;text-shadow: 1px 1px #eee;}::v-deep .el-cascader {.el-input__icon:before {content: "\e78f";}}::v-deep .el-select {.el-select__caret:before {content: "\e78f";}}::v-deep .el-input__suffix {left: 0;top: 30px;}::v-deep .el-select-dropdown__item {color: #eee;}::v-deep .el-select-dropdown__item.hover {background-color: #5483d3;color: #eee;}::v-deep .el-scrollbar__wrap {margin-bottom: -8px !important;margin-right: -6px !important;}::v-deep .el-popper[x-placement^="bottom"] .popper__arrow::after {border-bottom-color: #5483d3;display: none;}::v-deep .el-popper[x-placement^=bottom] .popper__arrow{display: none;}//::v-deep .el-select-dropdown {background-color: transparent;border-color: #5483d3;}
</style>

2.地图子组件的全部代码

<template><divclass="centerMap"id="echartsMap"style="width: 100%; height: 600px"></div>
</template><script>
// 引入echarts
import * as echarts from "echarts";export default {props: {provinceName: {//父组件传入地图名称type: String,default: "北京市",},},components: {},data() {// 这里存放数据return {myChart: null,};},watch: {provinceName(newvalue, oldValue) {if (newvalue != oldValue) {this.init();}},immediate: false},mounted() {this.init();},beforeDestroy() {if (this.myChart) {this.myChart.dispose();}},// 方法集合methods: {init() {let chartDom = document.getElementById("echartsMap");const myChart = echarts.init(chartDom);this.myChart = myChart;const chinaGeoCoordMap = {黑龙江: [127.9688, 45.368],内蒙古: [110.3467, 41.4899],吉林: [125.8154, 44.2584],宜宾市: [104.630825, 28.760189],辽宁: [123.1238, 42.1216],河北: [114.4995, 38.1006],北京: [116.405285, 39.904989],天津: [117.4219, 39.4189],山西: [112.3352, 37.9413],陕西: [109.1162, 34.2004],甘肃: [103.5901, 36.3043],宁夏: [106.3586, 38.1775],青海: [101.4038, 36.8207],新疆: [87.9236, 43.5883],西藏: [91.11, 29.97],四川: [103.9526, 30.7617],重庆: [108.384366, 30.439702],山东: [117.1582, 36.8701],河南: [113.4668, 34.6234],江苏: [118.8062, 31.9208],安徽: [117.29, 32.0581],湖北: [114.3896, 30.6628],浙江: [119.5313, 29.8773],福建: [119.4543, 25.9222],江西: [116.0046, 28.6633],湖南: [113.0823, 28.2568],贵州: [106.6992, 26.7682],云南: [102.9199, 25.4663],广东: [113.12244, 23.009505],广西: [108.479, 23.1152],海南: [110.3893, 19.8516],上海: [121.4648, 31.2891],};// 散点const chinaDatas = [];const mapObject = { name: "", value: null };// 飞线const lineObject = { coords: [[117.4219, 39.4189]] };const linesCoord = [];for (const key in chinaGeoCoordMap) {mapObject.name = key;mapObject.value = chinaGeoCoordMap[key];chinaDatas.push(JSON.parse(JSON.stringify(mapObject)));if (key !== "天津") {lineObject.coords[1] = chinaGeoCoordMap[key];linesCoord.push(JSON.parse(JSON.stringify(lineObject)));}}const option = {  geo: {map: "china",show: true,roam: false,layoutCenter: ["50%", "68%"], //地图位置layoutSize: "128%",label: {emphasis: {show: false,},},// 选中的地区域高亮颜色**********重点regions: [{name: this.provinceName,itemStyle: {areaColor: "#FFB800",},},],// 地图的背景色itemStyle: {normal: {areaColor: "#09184F",borderColor: "#00ffff",shadowColor: "#6690FF",shadowBlur: 10,},emphasis: {areaColor: "#477BFF",},},},series: [{type: "effectScatter",coordinateSystem: "geo",// 要有对应的经纬度才显示,先经度再维度data: chinaDatas,showEffectOn: "render",rippleEffect: {scale: 4, // 波纹的最大缩放比例brushType: "stroke",},hoverAnimation: true,label: {normal: {show: true,formatter: "{b}",position: "right",fontWeight: 500,fontSize: 14,},},itemStyle: {normal: {color: "#00e3ff",shadowBlur: 10,shadowColor: "#333",},},emphasis: {itemStyle: {color: "#FFB800", // 高亮颜色},},zlevel: 1,},{type: "lines",coordinateSystem: "geo",zlevel: 1,effect: {show: true,period: 5,trailLength: 0,symbol: "arrow",color: "#01AAED",symbolSize: 8,},lineStyle: {normal: {width: 1.2,opacity: 0.6,curveness: 0.2,color: "#FFB800",},},data: linesCoord,},],};myChart.setOption(option);// 省份高亮函数// if (this.provinceName) {//   myChart.dispatchAction({//     type: "downplay",//     seriesIndex: 0,//     name: this.provinceName,//   });//   myChart.dispatchAction({//   type: "highlight",//   seriesIndex: 0,//   dataIndex: myChart//     .getOption()//     .series[0].data.findIndex((item) => item.name === this.provinceName),//   name: this.provinceName,// });// }},},
};
</script>
<style lang="scss" scoped>
.centerMap {width: 100%;height: 600px;// position: absolute !important;margin: 0 auto;margin-top:-10px;::v-deep canvas {width: 100% !important;}
}
</style>

效果图展示:

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

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

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

相关文章

排书 IDA*

原题链接 题目描述 给定 n 本书&#xff0c;编号为 1∼n。 在初始状态下&#xff0c;书是任意排列的。在每一次操作中&#xff0c;可以抽取其中连续的一段&#xff0c;再把这段插入到其他某个位置。我们的目标状态是把书按照 1∼n 的顺序依次排列。求最少需要多少次操作。 输…

STM32学习笔记(十一)--SPI总线协议详解

概述&#xff1a;Serial Peripheral Interface&#xff0c;一组多从 传输速率比I2C快 但是线多 无应答 是一种同步&#xff08;具有时钟线需要同步时钟SCL&#xff09;、串行&#xff08;一位一位的往一个方向发送&#xff09;、全双工&#xff08;发送接收同时&#xff09;通…

Rocky9使用cockpitweb登陆时root用户无法登陆

Rocky9使用cockpitweb登陆时root用户无法登陆 [rootlvs ~]# vim /etc/cockpit/disallowed-users [rootlvs ~]# systemctl restart cockpit 取消disallowed-users中的root&#xff0c;即可访问 ip:9090 登陆。

计算机网络 —— 应用层(万维网)

计算机网络 —— 应用层&#xff08;万维网&#xff09; 万维网核心组成部分特点 URLHTTP版本请求消息结构响应消息结构工作流程 Cookie如何工作主要用途安全与隐私类型 Web缓存客户端缓存&#xff08;浏览器缓存&#xff09;服务器端缓存 今天我们来了解万维网&#xff1a; 万…

螺蛳粉店外卖配送小程序商城的效果为何

螺蛳粉是广西地区的特色美食&#xff0c;在当地有着大量实体餐饮店或品牌商&#xff0c;其单品消费率非常高&#xff0c;在外地也不乏自创品牌或加盟店等&#xff0c;其特殊的味道及吸引力也同样复购率高&#xff0c;客户除了线下到店外&#xff0c;也会购买袋/桶装螺蛳粉到家自…

构建有效的财务规划合作伙伴关系

在这个日益注重分类、定义和正规化的时代&#xff0c;财务规划与分析作为企业环境中发展最快的功能之一&#xff0c;已经从典型的数据管理角色逐步演变成企业框架中必不可少的身份。与其他新兴趋势一样&#xff0c;财务规划也开始采用更加创新的理念来吸引高技能投资&#xff0…

关于FPGA的浮点数处理 II

关于FPGA的浮点数处理 II 语言 &#xff1a;Verilg HDL 、VHDL EDA工具&#xff1a;ISE、Vivado、Quartus II 关于FPGA的浮点数处理 II一、引言二、浮点数运算的FPGA实现1. 有符号数整数转单精度浮点数&#xff08;1&#xff09;实现代码&#xff08;Int2Fp模块&#xff09;&am…

MYSQL杀掉会话

确实&#xff0c;你可以通过 performance_schema.events_statements_current 表来查找当前正在执行的语句的会话ID&#xff08;通常称为 THREAD_ID&#xff09;&#xff0c;然后使用 KILL 命令来终止该会话。不过&#xff0c;需要注意的是 events_statements_current 表中只包含…

新手项目经理如何快速成长?做好这些让你变优秀

随着国内企业精细化发展的步伐不断加快&#xff0c;企业内部在项目立项、项目运营、项目分析等板块的管理要求越来越高&#xff0c;对项目经理的岗位需求也越来越高。一个合格的项目经理需要对项目的初期、中期、后期进行全局的把控。初为项目经理&#xff0c;项目小白如何才能…

14、Spring之Bean生命周期~推断构造方法

14、Spring之Bean生命周期~推断构造方法 推断构造方法determineConstructorsFromBeanPostProcessors()方法autowireConstructor()方法instantiateBean()方法instantiateUsingFactoryMethod()方法 推断构造方法 spring在创建Bean对象的会调用createBeanInstance()方法进行实例化…

神经压缩文本训练:提升大型语言模型效率的新方法

随着大型语言模型&#xff08;LLMs&#xff09;在各个领域的广泛应用&#xff0c;其训练和部署的效率问题日益凸显。传统的子词标记化方法&#xff0c;如Byte Pair Encoding (BPE) 或 Unigram&#xff0c;虽然能够在一定程度上压缩文本&#xff0c;但其压缩率通常只有4倍左右。…

Kubernetes部署Kanboard看板管理平台

【云原生】Kubernetes部署Kanboard项目管理平台 文章目录 【云原生】Kubernetes部署Kanboard项目管理平台介绍资源列表基础环境一、检查k8s环境1.1、检查工作节点状态1.2、检查系统pod状态 二、编辑kanboard.yaml文件2.1、创建项目目录2.2、编辑kanboard.yaml文件 三、部署Kanb…

ubuntu22.04安装初始化

目录 1. 概述2. 修改参数3. 修改限制4. 修改源6. 虚拟机关闭swap分区7. 配置系统信息7.1 设置主机名7.2 设置时区7.3 安装常用工具包7.4 设置时间同步7.5 关闭 selinux 1. 概述 CentOS 7 马上就停止支持服务了&#xff0c;未雨绸缪&#xff0c;整理Ubuntu 22.04的 初始化脚本。…

日常工作中常用的管理工具

日常工作中常用的管理工具 SWOT分析法&#xff1a; 帮你清晰地把我全局&#xff0c;分析自己在资源方面的优势域劣势&#xff0c;把握环境提供的机会&#xff0c;防范可能存在的风险与威胁&#xff0c;对我们的成功有非常重要的意义 PDCA循环规则&#xff1a; 每一项工作&#…

如何使用LiveTargetsFinder生成实时活动主机URL列表

关于LiveTargetsFinder LiveTargetsFinder是一款功能强大的实时活动主机生成工具&#xff0c;该工具可以为广大研究人员以自动化的形式生成可供分析和测试的实时活动主机URL列表&#xff0c;并通过MassDNS、Masscan和Nmap自动过滤出无法访问的主机。 我们只需要提供一个域名作…

用shell脚本写一个猜数小游戏

1.用if语句写&#xff1a; num1$[RANDOM%101]fun() { read -p "please input a number between 0~9 : " numif (( $num < 0 || $num > 10 )) thenecho "请输入0-10以内的数字"fun elif (( $num > $num1 )) thenecho "请猜的small一点"…

代码随想录第30天|贪心算法

122.买卖股票的最佳时机II 给你一个整数数组 prices &#xff0c;其中 prices[i] 表示某支股票第 i 天的价格。 在每一天&#xff0c;你可以决定是否购买和/或出售股票。你在任何时候 最多 只能持有 一股 股票。你也可以先购买&#xff0c;然后在 同一天 出售。 返回 你能获得…

前端XLSX解析Excel数据处理多种日期格式转换问题

一、实现思路 最近在开发一个Excel解析预览的功能&#xff0c;发现在解析Excel导入时间的时候会存在一个离谱的问题就是Excel的时间和XlSX解析之后获取的时间会不一致 例如 2024/6/19 获取的时间为 Wed Jun 19 2024 23:59:17 GMT0800&#xff0c;少了43秒&#xff0c;为了解决…

SAP PP学习笔记23 - 生产订单(制造指图)的元素2 - 决济规则(结算规则)

上一章讲了生产订单&#xff08;制造指图&#xff09;画面的基本元素。 SAP PP学习笔记22 - 生产订单&#xff08;制造指图&#xff09;的元素1-CSDN博客 本章继续讲生产订单上面的其他元素。 1&#xff0c;Settlement rule&#xff08;决济规则(结算规则)&#xff09;概要 M…

springboot容器功能

springboot容器 容器功能Spring注入组件的注解Component&#xff0c;Controller&#xff0c;Service&#xff0c;Repository案例演示 Configuration应用实例传统方式使用Configuration 注意事项和细节 Import应用实例 ConditionalConditional介绍应用实例 ImportResource应用实…