vue3 echarts 各省地图展示

效果:

1.在src下新建utils文件夹添加各省地图的json文件(下载各省地图的网址 DataV.GeoAtlas地理小工具系列)

2.安装echarts

npm install echarts

3.在项目文件中中引入json

<template><div class="back"><div id="chinaMap" class="china-map"></div></div>
</template>
<script lang="ts" setup>
import * as echarts from 'echarts';
import { ref, reactive, computed, onMounted } from "vue";
import { getProvince,findProvinceSaltProduct,getProvinceCompany } from "../../../common/api.js";
import AnHuiData from '../../../utils/anhui.json'
import AoMenData from '../../../utils/aomen.json'
import BeiJingData from '../../../utils/beijing.json'
import ChongQingData from '../../../utils/chongqing.json'
import FuJianData from '../../../utils/fujian.json'
import GanSuData from '../../../utils/gansu.json'
import GuangDongData from '../../../utils/guangdong.json'
import GuangXiData from '../../../utils/guangxi.json'
import GuiZhouData from '../../../utils/guizhou.json'
import HaiNanData from '../../../utils/hainan.json'
import HeBeiData from '../../../utils/hebei.json'
import HLJData from '../../../utils/heilongjiang.json'
import HeNanData from '../../../utils/henan.json'
import HuBeiData from '../../../utils/hubei.json'
import HuNanData from '../../../utils/hunan.json'
import JiangSuData from '../../../utils/jiangsu.json'
import JiangXiData from '../../../utils/jiangxi.json'
import JiLinData from '../../../utils/jilin.json'
import LiaoNingData from '../../../utils/liaoning.json'
import NeiMengGuData from '../../../utils/neimenggu.json'
import NingXiaData from '../../../utils/ningxia.json'
import QingHaiData from '../../../utils/qinghai.json'
import ShanDongData from '../../../utils/shandong.json'
import ShangHaiData from '../../../utils/shanghai.json'
import ShanXiData from '../../../utils/shanxi.json'
import shanXiData from '../../../utils/shanxi1.json'
import SiChuanData from '../../../utils/sichuan.json'
import TaiWanData from '../../../utils/taiwan.json'
import TianJinData from '../../../utils/tianjin.json'
import XiangGangData from '../../../utils/xianggang.json'
import XinJiangData from '../../../utils/xinjiang.json'
import XiZangData from '../../../utils/xizang.json'
import YunNanData from '../../../utils/yunnan.json'
import ZheJiangData from '../../../utils/zhejiang.json'onMounted(() => {findProvinceSaltProducts()
});//获取省份
const TYDatalist:any = ref([])
const provinceNames = ref<string>('');
const getProvinces = () => {getProvince().then((res:any)=>{console.log(res);provinceNames.value = res.provinceNameif(provinceNames.value == '湖北省'){TYDatalist.value = HuBeiDatainitMap()}else if(provinceNames.value == '山西省'){TYDatalist.value = ShanXiDatainitMap()}else if(provinceNames.value == '安徽省'){TYDatalist.value = AnHuiDatainitMap()}else if(provinceNames.value == '澳门'){TYDatalist.value = AoMenDatainitMap()}else if(provinceNames.value == '北京市'){TYDatalist.value = BeiJingDatainitMap()}else if(provinceNames.value == '重庆市'){TYDatalist.value = ChongQingDatainitMap()}else if(provinceNames.value == '福建省'){TYDatalist.value = FuJianDatainitMap()}else if(provinceNames.value == '甘肃省'){TYDatalist.value = GanSuDatainitMap()}else if(provinceNames.value == '广东省'){TYDatalist.value = GuangDongDatainitMap()}else if(provinceNames.value == '广西省'){TYDatalist.value = GuangXiDatainitMap()}else if(provinceNames.value == '贵州省'){TYDatalist.value = GuiZhouDatainitMap()}else if(provinceNames.value == '海南省'){TYDatalist.value = HaiNanDatainitMap()}else if(provinceNames.value == '河北省'){TYDatalist.value = HeBeiDatainitMap()}else if(provinceNames.value == '黑龙江省'){TYDatalist.value = HLJDatainitMap()}else if(provinceNames.value == '河南省'){TYDatalist.value = HeNanDatainitMap()}else if(provinceNames.value == '湖南省'){TYDatalist.value = HuNanDatainitMap()}else if(provinceNames.value == '江苏省'){TYDatalist.value = JiangSuDatainitMap()}else if(provinceNames.value == '江西省'){TYDatalist.value = JiangXiDatainitMap()}else if(provinceNames.value == '吉林省'){TYDatalist.value = JiLinDatainitMap()}else if(provinceNames.value == '辽宁省'){TYDatalist.value = LiaoNingDatainitMap()}else if(provinceNames.value == '内蒙古自治区'){TYDatalist.value = NeiMengGuDatainitMap()}else if(provinceNames.value == '宁夏回族自治区'){TYDatalist.value = NingXiaDatainitMap()}else if(provinceNames.value == '青海省'){TYDatalist.value = QingHaiDatainitMap()}else if(provinceNames.value == '山东省'){TYDatalist.value = ShanDongDatainitMap()}else if(provinceNames.value == '上海市'){TYDatalist.value = ShangHaiDatainitMap()}else if(provinceNames.value == '陕西省'){TYDatalist.value = shanXiDatainitMap()}else if(provinceNames.value == '四川省'){TYDatalist.value = SiChuanDatainitMap()}else if(provinceNames.value == '台湾'){TYDatalist.value = TaiWanDatainitMap()}else if(provinceNames.value == '天津市'){TYDatalist.value = TianJinDatainitMap()}else if(provinceNames.value == '香港'){TYDatalist.value = XiangGangDatainitMap()}else if(provinceNames.value == '新疆维吾尔自治区'){TYDatalist.value = XinJiangDatainitMap()}else if(provinceNames.value == '西藏自治区'){TYDatalist.value = XiZangDatainitMap()}else if(provinceNames.value == '云南省'){TYDatalist.value = YunNanDatainitMap()}else if(provinceNames.value == '浙江省'){TYDatalist.value = ZheJiangDatainitMap()}})
}
const MapdataList = ref([])
const findProvinceSaltProducts = () =>{let param = new FormData()param.append('startDate',searchForm.time[0]?searchForm.time[0]:'')param.append('endDate',searchForm.time[1]?searchForm.time[1]:'')param.append('companyId',searchForm.companyName)findProvinceSaltProduct(param).then((res:any) =>{MapdataList.value = resgetProvinces()})
}
const initMap = async () => {var chartDom = document.getElementById('chinaMap');echarts.dispose(chartDom as HTMLElement);var myChart = echarts.init(chartDom);myChart.hideLoading();echarts.registerMap('DT', TYDatalist.value);var mapBoxOption = {tooltip: {trigger: 'item',formatter:function (params:any) {if(params.value){ return params.name  + '<br/>' +  params.value +'吨'; }else{ return  params.name + '<br/>' + '0'+'吨'; } }},visualMap: {min: 0,max: 500000,text: ['MAX', '0'],realtime: true,calculable: true,inRange: {color: ['#51adcf','#177cb0','#34699a']},textStyle:{color:'#fff'}},series: [{type: 'map',map: 'DT',label: {show: true},data: MapdataList.value,}]}myChart.setOption(mapBoxOption);
};
</script>

const MapdataList = ref<Array<{ name: any; value: any; fromName: any; }>>([])
const findProvinceSaltSaleIns = () =>{let param = new FormData()param.append('startDate',searchForm.time[0]?searchForm.time[0]:'')param.append('endDate',searchForm.time[1]?searchForm.time[1]:'')param.append('companyId',searchForm.companyName)findProvinceSaltSaleIn(param).then((res:any) =>{interface CitySales {name: string;value: number;fromName:Array<{ from: string; sales: number }>;}//对数据进行处理var list = [];const citySalesMap: Record<string, CitySales> = reactive({});for (var i = 0; i < res.length; i++) {var cityName = res[i].cityName;var salesNum = res[i].salesNum;var fromName = res[i].fromCityName;if (citySalesMap.hasOwnProperty(cityName)) {citySalesMap[cityName].value += salesNum;citySalesMap[cityName].fromName.push({from:fromName,sales:salesNum})} else {list.push({name: cityName,value: salesNum,fromName: [{from:fromName,sales:salesNum}]});citySalesMap[cityName] = list[list.length - 1];}}MapdataList.value = listgetProvinces()})
}
const initMap = async () => {var chartDom = document.getElementById('chinaMap');echarts.dispose(chartDom as HTMLElement);var myChart = echarts.init(chartDom);// myChart = echarts.init(chartDom);myChart.hideLoading();echarts.registerMap('HK', TYDatalist.value);var mapBoxOption = {tooltip: {trigger: 'item',formatter:function (params:any) {if (params.value && params.data.fromName.length > 0) {const fromNameHtml = params.data.fromName.map((item:any) => `${item.from}:${item.sales}吨`).join('<br/>');return `${params.name}<br/>${fromNameHtml}`;} else {return `${params.name}<br/>0吨`;}}},visualMap: {min: 0,max: 500000,text: ['MAX', '0'],realtime: true,calculable: true,inRange: {color: ['#51adcf','#177cb0','#34699a']},textStyle:{color:'#fff'}},series: [{type: 'map',map: 'HK',label: {show: true},data: MapdataList.value,}]}myChart.setOption(mapBoxOption);
};

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

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

相关文章

搜维尔科技:用Diota增强现实提高生产力,是数字解决方案的先驱

Diota 是数字解决方案的先驱&#xff0c;结合了交互式 3D、增强现实、计算机视觉、人工智能和深度学习等尖端技术&#xff0c;以优化复杂制造业务的执行。Diota 解决方案扩展了数字模型以及工程和制造之间相关流程的使用&#xff0c;其中涉及制造产品的生产、组装、测试和维护。…

快速解决Edge浏览器常见问题:完整教程

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 目录 文章目录 前言 一、Edge浏览器是什么&#xff1f; 二、常见的问题 1. DNS服务器出错 解决方案一&#xff1a;清除浏览器缓存和Cookie 2.网络问题 3.缓存和Cook…

微信小程序、uniapp仿扎克新闻(附源码)

介绍 本着试试 mpvue 的态度开发此程序&#xff0c;界面主要是模仿 ZAKER 新闻&#xff0c;数据全部是由 Mock 随机生成的&#xff0c;使用的是 Easy-Mock 服务。本程序只开发了的几个页面&#xff0c;尝试了自定义组件&#xff0c;路由跳转及参数传递等功能。再开发下去只是组…

冯诺依曼体系与操作系统的理解

目录 一.冯诺依曼体系结构 存储分级 为什么程序运行之前&#xff0c;必须加载到内存上&#xff1f; 二.操作系统 操作系统是什么&#xff1f; 为什么需要操作系统&#xff1f; 操作系统是如何管理软硬件资源&#xff1f; 一.冯诺依曼体系结构 我们常见的计算机&#xff…

https网站连接图标四种状态(安全、没有完全安全、过期和危险)

浏览 Web 时&#xff0c;地址栏中会显示一个图标&#xff0c;指示与要访问的网站的连接的安全性。 此图标可帮助您确定是否可以安全发送和接收网站的信息。 连接会告知发送到站点和从站点发送的信息&#xff08;如密码、地址或信用卡&#xff09;是否安全发送&#xff0c;且无法…

AI日报:人工智能与新材料的发现

文章目录 总览人工智能正在革命性地发现新的或更强的材料&#xff0c;这将改变制造业。更坚韧的合金问题研究解决方案 新材料人工智能存在的挑战方法探索 日本的研究人员正在使用人工智能制造更强的金属合金或发现新材料&#xff0c;并彻底改变制造过程 总览 日本的研究人员开…

什么是主动学习(Active Learning)?定义,原理,以及主要方法

数据是训练任何机器学习模型的关键。但是&#xff0c;对于研究人工智能的企业和团队而言&#xff0c;数据仍是实现成功的最大障碍之一。首先&#xff0c;您需要大量数据来创建高性能模型。更重要的是&#xff0c;您需要标注准确的数据。虽然许多团队一开始都是手动标注数据集&a…

Windows mysql5.7 执行查询/开启/测试binlog---简易记录

前言&#xff1a;基于虚拟机mysql版本为5.7&#xff0c;增量备份测试那就要用到binlog… 简述&#xff1a;二进制日志&#xff08;binnary log&#xff09;以事件形式记录了对MySQL数据库执行更改的所有操作。 binlog是记录所有数据库表结构变更&#xff08;例如CREATE、ALTER…

工业元宇宙与数字孪生的爱恨情仇

尽管许多技术专家还在思考元宇宙虚拟世界将如何影响企业和消费者&#xff0c;但工业元宇宙虚拟世界已经开始革新人们在设计、制造和与各行业物理实体互动方面的方式。 元宇宙与数字孪生 简单来说&#xff0c;数字孪生是产品或流程的虚拟副本&#xff0c;可以预测物理实体在整…

保护您的数据,SMART Utility for Mac硬盘检测助您一臂之力!

在现代社会中&#xff0c;我们的生活离不开电脑和存储设备。然而&#xff0c;硬盘故障可能会带来严重的数据丢失和系统崩溃。为了保护您的数据安全&#xff0c;我们推荐您使用SMART Utility for Mac&#xff0c;这是一款专为Mac用户设计的硬盘检测工具。 SMART Utility for Ma…

web Speech Synthesis 文字语音播报,Audio 播放base64提示音

SpeechSynthesisUtterance基本介绍 SpeechSynthesisUtterance是HTML5中新增的API,用于将指定文字合成为对应的语音.也包含一些配置项,指定如何去阅读(语言,音量,音调)等 SpeechSynthesisUtterance基本属性 SpeechSynthesisUtterance.lang 获取并设置话语的语言SpeechSynthesisU…

面向 SEO 专业人士的完整 Google Search Console 指南

了解 Google Search Console 并释放其功能&#xff0c;以改善您的网站运行状况和搜索性能。 Google Search Console 提供监控网站在搜索中的表现和提高搜索排名所需的数据&#xff0c;这些信息只能通过 Search Console 获得。 这使得它对于热衷于最大化成功的在线业务和出版商…

C++ 教程 - 02 复合数据类型

文章目录 数组vector字符串输入输出结构体枚举指针引用综合案例 数组 相同类型的数据的集合{ }&#xff0c;通过索引访问元素&#xff1b;在内存中连续存储&#xff0c;属于顺序表&#xff1b;插入、删除时间复杂度 O ( n ) O(n) O(n)&#xff0c;访问复杂度 O ( 1 ) O(1) O(1…

用到了C语言的函数指针功能。

请选择一个功能&#xff1a; 1. 加法 2. 减法 3. 乘法 4. 除法 5. 取模 6. 阶乘 7. 判断素数 8. 球体体积 9. 斐波那契数列 10. 幂运算 11. 最大公约数 12. 最小公倍数 13. 交换数字 14. 排序 15. 退出 请选择一个选项&#xff1a; #include <stdio.h> #include <stdl…

48.0/图片和多媒体文件的使用(详细版)

目录 48.1 网页中插入图片 48.1.1 基本语法 48.1.2 常见属性 48.2 图片超链接 48.3 设置图片热区链接 48.4 将图片作为网页背景 48.5 滚动字幕 48.6 插入多媒体文件 48.1 网页中插入图片 48.1.1 基本语法 <img src=“图片地址”> img 标记用于将图像插入到 HTML…

【Java 基础】32 定时调度

文章目录 Timer 类创建 Timer注意事项 ScheduledExecutorService 接口创建 ScheduledExecutorService注意事项 选择合适的定时调度方式Timer 的适用场景ScheduledExecutorService 的适用场景 总结 在软件开发中&#xff0c;定时任务是一种常见的需求&#xff0c;用于周期性地执…

Linux 中的 container_of 原理

源码基于&#xff1a;Linux 5.10 0.前言 container_of() 这个宏函数在Linux 内核中使用的频率还是很多的。网上关于 container_of 使用的优秀文章也很多&#xff0c;之所以笔者也写一篇&#xff0c;一是想更新下最新代码中的使用&#xff0c;二是融入些自己的拙见&#xff0c;…

CESM笔记——component活动状态+compset前缀解析+B1850,BHIST区别

时隔一年没写CSDN笔记了&#xff0c;一些CESM的知识点我都快忘了。诶&#xff0c;主要是在国外办公室的网屏蔽了好多国内的网络&#xff0c;CSDN登不上&#xff0c;回家又不想干活。。。好吧&#xff0c;好多借口。。。 昨天师弟问我一些问题&#xff0c;想想要不可以水一篇小…

python安装步骤

1.1 python下载地址 python官网 1.2 详细安装步骤 1.2.1 双击安装包打开&#xff0c;勾选最下边两个方框&#xff0c;然后选择自定义安装&#xff0c;如下图。 1.2.2 这一页默认是全部勾选上的&#xff0c;点击下一步。 1.2.3 修改安装路径&#xff0c;默认是C盘&#xff0c…

【Git 小妙招】走进 Git 的分支管理(万字图文讲解)

文章目录 前言1. 理解分支2. 创建分支3. 切换分支4. 合并分支5. 删除分支6. 合并冲突7. 分支管理策略7.1 一个简单的分支策略(仅参考) 8. bug 分支9. 删除临时分支总结 前言 本文开始介绍 Git 的杀手级功能之⼀&#xff1a;分⽀。本文涉及分⽀创建&#xff0c;切换&#xff0c…