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.hqwc.cn/news/268406.html

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

相关文章

配电站房智慧化改造

随着科技的发展和工业化自动化的不断提高&#xff0c;传统的配电室已经不能满足现代工业的需求。配电站房的智慧化改造可以提高电力系统的运行效率和安全性&#xff0c;依托电易云-智慧电力物联网实现配电房无人值守。以下是配电站房智慧化改造的一些主要方面&#xff1a; 设备…

C语言——结构体

一、结构的基础知识 结构是一些值的集合&#xff0c;这些值称为成员变量结构的&#xff0c;每个成员可以是不同类型的变量。 二、结构的声明 struct tag {member-list; }variable-list; 描述一个学生&#xff1a; typedef struct Student {char name[20]; //姓名int age; …

Symfony DomCrawler 库爬取图片实例

前言 在当今互联网时代&#xff0c;网络爬虫技术已经成为信息获取和数据分析的重要工具之一。本文将详细介绍如何利用Symfony DomCrawler库&#xff0c;结合代理设置和HTML内容解析&#xff0c;实现对搜狐网站图片的爬取&#xff0c;并展示实际代码和效果。 项目需求 本项目…

微信小程序游戏:移动游戏市场的新兴力量

随着移动互联网的迅猛发展&#xff0c;微信小程序游戏已经成为现代数字娱乐领域的一股不可忽视的力量。这些游戏通过融入微信这一广泛使用的社交平台&#xff0c;为用户带来了全新的游戏体验。本文探讨了微信小程序游戏的特点、发展现状和未来趋势。 微信小程序游戏最大的特点之…

css的元素显示模式(有单行文字垂直居中,侧边栏等案例)

目录 1. 什么是元素的显示模式 2. 元素显示模式的类型 块元素 行内元素 行内块元素 3. 元素显示模式的转换 4.文字垂直居中 5.具体实现案例 1. 什么是元素的显示模式 定义&#xff1a;元素显示模式就是元素&#xff08;标签&#xff09;以什么方式进行显示&#xff0c;…

Property ‘unmount‘ does not exist on type ‘Window typeof globalThis‘

在 Vue3 Vite TS 的项目中&#xff0c;接入 MicroApp 微前端时&#xff0c;编辑器出现 TS2339: Property unmount does not exist on type Window & typeof globalThis. 的错误提示。 问题原因 在 window 上挂载了一个 unmount 方法&#xff0c;但是 TS 并不知道这个方法…

PyTorch: 基于VGG16处理MNIST数据集的图像分类任务

目录 引言在Conda虚拟环境下安装pytorch步骤一&#xff1a;利用代码自动下载mnist数据集步骤二&#xff1a;搭建基于VGG16的图像分类模型步骤三&#xff1a;训练模型步骤四&#xff1a;测试模型运行结果后续模型的优化和改进建议完整代码结束语 引言 在本博客中&#xff0c;小…

猎豹浏览器如何设置ip使用?socks5在网络安全中有什么优势?

猎豹浏览器如何设置ip使用&#xff1f;socks在网络安全中有什么优势&#xff1f; 一、猎豹浏览器如何设置ip使用&#xff1f; 在使用猎豹浏览器时&#xff0c;可以通过以下步骤来设置IP使用&#xff1a; 1. 打开猎豹浏览器&#xff0c;点击右上角的“菜单”按钮&#xff0c;在…

软文是如何连接品牌与用户的?媒介盒子为您解答

软文作为品牌向用户传递信息或价值传递的重要媒介&#xff0c;在品牌营销中的场景中发挥着重要作用。那么商家如何做&#xff0c;才能使软文成功连接品牌与用户呢&#xff1f;下面就让媒介盒子分享。 一、软文是什么 软文是一种带有目的的表达&#xff0c;软文目的大概分为四种…

c++ map

unordered_map #include <iostream> #include <string> #include <unordered_map>int main() {// 创建包含三个字符串的&#xff08;映射到字符串的&#xff09;unordered_mapstd::unordered_map<std::string, std::string> u {{"red", &qu…

C语言普里姆(Prim)算法实现计算国家建设高铁运输网最低造价的建设方案

背景&#xff1a; 描述&#xff1a;为促进全球更好互联互通&#xff0c;亚投行拟在一带一路沿线国家建设高铁运输网&#xff0c;请查阅相关资料 画出沿线国家首都或某些代表性城市的连通图&#xff0c;为其设计长度最短或造价最低的高铁建设方案。 要求&#xff1a;抽象出的图…

智能优化算法应用:基于鸡群算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于鸡群算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于鸡群算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.鸡群算法4.实验参数设定5.算法结果6.参考文献7.MA…