Echarts中国地图省市区县三级联动

NodeV14.20.0安装
# 历史版本Node下载地址
https://nodejs.org/en/download/prebuilt-installer
# NodeV14.20.0配置与部署
https://nodejs.org/dist/v14.20.0/node-v14.20.0-x64.msi

构建默认Vue3工程目录
npm install -g @vue/cli --registry=https://registry.npm.taobao.org
vue create china --registry=https://registry.npm.taobao.org# 选择Vue3初始化项目
> Default ([Vue 3] babel, eslint)

安装依赖
cd chinanpm install -s axios@1.7.5 --registry=https://registry.npm.taobao.org
npm install -s echarts@5.5.1 --registry=https://registry.npm.taobao.org
npm install -s element-plus@2.8.1 --registry=https://registry.npm.taobao.org
npm install -s vue-router@4.4.3 --registry=https://registry.npm.taobao.org

目录配置
china   
├── package.json
├── package-lock.json
├── src
│       └── main.js
|       └── App.vue
|       └── router
|              └── index.js
|		└── components
|              └── ChinaMap.vue
// main.js
import { createApp } from 'vue'
import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'
import App from './App.vue'const app = createApp(App)
app.use(ElementPlus)
app.mount('#app')
<!-- App.vue -->
<template><ChinaMap/>
</template><script>
import ChinaMap from './components/ChinaMap.vue'export default {name: 'App',components: {ChinaMap}
}
</script><style>
#app {font-family: Avenir, Helvetica, Arial, sans-serif;-webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale;text-align: center;color: #2c3e50;margin-top: 60px;
}
</style>
<!-- components/ChinaMap.vue -->
<template><div><el-button type="primary" @click="returnParent">返回上一级</el-button><div style="width:1920px;height:1080px" ref="chartsDOM"></div></div></template><script>
import * as echarts from "echarts";
import axios from 'axios';
import router from "@/router";export default {name: 'ChinaMap',mounted() {this.init('100000', 'china');},data() {return {mapChart: null,adcode: 100000}},methods: {init(adcode, mapName) {const _this = this;console.log('init:\t' + adcode);this.adcode = adcode;let mapJsonData;if (this.mapChart) this.mapChart.dispose();// 初始化统计图对象this.mapChart = echarts.init(this.$refs["chartsDOM"]);// 显示 loading 动画this.mapChart.showLoading();// 获取数据并进行地图绘制axios.get('https://geo.datav.aliyun.com/areas_v3/bound/' + adcode + '_full.json').then(res => {mapJsonData = res.data;// 关闭动画_this.mapChart.hideLoading();// 注册地图数据echarts.registerMap(mapName, mapJsonData);// echarts.registerMap(mapName, JSON.parse(JSON.stringify(mapJsonData)));let option = {series: [{name: '中国地图',type: 'map',map: mapName,// 此处map的内容与echarts.registerMap中自定义的名字一直label: {show: true}}]};_this.mapChart.setOption(option, this.mapChart.on("click", function clickMap(params) {// console.log(params.name)// console.log(JSON.stringify(mapJsonData.features))let features = mapJsonData.features;const adcode = features.filter((item) => {return item.properties.name === params.name;})[0].properties.adcode;console.log(adcode);if ((adcode + '').endsWith("00")) {router.push({});_this.init(adcode, adcode + '');}}));})},returnParent() {console.log(this.adcode)const _this = this;if ((this.adcode + '').endsWith("0000")) {router.push({});const adcodeTemp = 100000;const mapNameTemp = adcodeTemp + '' + new Date().getTime();console.log(adcodeTemp);console.log(mapNameTemp);router.push({});_this.init(adcodeTemp, mapNameTemp);} else {const adcodeTemp = (this.adcode + '').substr(0, 2) + '0000';const mapNameTemp = adcodeTemp + '' + new Date().getTime();console.log(adcodeTemp);console.log(mapNameTemp);router.push({});_this.init(adcodeTemp, mapNameTemp);}}}
}</script><!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped></style>
<!-- router/index.js -->
import {createRouter, createWebHistory} from 'vue-router'const router = createRouter({history: createWebHistory(),routes: [{path: '/',name: 'chinaMap',component: () => import("@/components/ChinaMap")}]
})export default router

编译运行
npm install --registry=https://registry.npm.taobao.org
npm run serve

效果展示

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

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

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

相关文章

22. K8S及DevOps

22. K8S及DevOps 一. 章节简介二. DevOps1. 简介2. CICD三. Kubernetes1. [官网](https://kubernetes.io/zh-cn/)2. K8S安装2.1 服务器要求2.2 准备工作演示服务器IP主副服务器设置`hostnamectl`设置host与ip绑定关闭防火墙时间同步关闭selinux安全策略关闭swap分区网桥过滤与地…

SAPUI5基础知识25 - 聚合绑定(Aggregation Binding)

1. 背景 Aggregation Binding 是 SAPUI5 中的一种数据绑定方式&#xff0c;用于将数据模型中的集合&#xff08;如数组&#xff09;绑定到 UI 控件的聚合&#xff08;如列表项、表格行等&#xff09;。 常见的场景包括将一个数组绑定到 sap.m.List 的 items 聚合&#xff0c;…

人脸静态活体检测(高精度版) API 对接说明

人脸静态活体检测&#xff08;高精度版&#xff09; API 对接说明 本文将介绍人脸静态活体检测&#xff08;高精度版&#xff09;API 对接说明&#xff0c;它可用于对用户上传的静态图片进行防翻拍活体检测&#xff0c;以判断是否是翻拍图片。 接下来介绍下 人脸静态活体检测…

yolo8 目标检测、鉴黄

省流 看前必读 别浪费时间 &#xff1a;本文只是一个记录&#xff0c;防止自己下次被改需求时浪费时间&#xff0c;在这里就随意的写了一下文章记录整个步骤&#xff0c;但是文章想必肯定没有对应的教程讲的详细&#xff0c;该文章只适合想要快速按照步骤完成一个简单的 demo 的…

【Next.js 入门指南】5分钟创建你的第一个 Next.js 应用

你是否曾经梦想过构建一个快速、高效且 SEO 友好的 React 应用&#xff1f;今天&#xff0c;我们将一起探索 Next.js —— 一个革命性的 React 框架&#xff0c;它将帮助你轻松实现这个梦想。在接下来的 5 分钟里&#xff0c;你将创建并运行你的第一个 Next.js 应用&#xff0c…

23:【stm32】ADC模数转换器

ADC模数转换器 1、ADC的简介2、逐次逼近型ADC3、采样时间和转换时间4、STM32中ADC模块5、编程案列5.1、AD单通道5.2、AD多通道 1、ADC的简介 ADC就是一个模数转换器&#xff0c;将引脚上连续变化的模拟电压转换为内存中存储的数字变量&#xff0c;建立模拟电路到数字电路的桥梁…

春秋云镜(ZZCMS 2023)·CVE-2023-50104

漏洞参考说明&#xff1a;GitHub - zzq66/cve4 漏洞复现&#xff1a; 1、访问 URL/3/E_bak5.1/upload/index.php 2、使用默认账户密码admin/admin登录 3、上传恶意语句 修改tablename字段为eval($_POST[1]) POST /3/E_bak5.1/upload/phomebak.php HTTP/1.1 Host: eci-2zehp12…

华为云征文 | 华为云Flexus云服务器X实例之Docker环境下部署JmalCloud个人网盘

华为云征文 | 华为云Flexus云服务器X实例之Docker环境下部署JmalCloud个人网盘 前言一、Flexus云服务器X实例介绍1.1 Flexus云服务器X实例简介1.2 Flexus云服务器X实例特点1.3 Flexus云服务器X实例使用场景 二、JmalCloud介绍2.1 JmalCloud简介2.2 JmalCloud优点2.3 JmalCloud使…

阿里云身份证二要素详细使用

初步&#xff1a; 先登录阿里云&#xff08;找官网链接&#xff09; 2、云市场搜索身份证二要素 看个人需求选择 3、我选择的是下边这个 4、接下来看文档具体调用&#xff08;在请求示例中有选择语言的代码 我选择的就是java&#xff09; 5、在控制台看appcode码 放入代码中…

揭秘难以复现Bug的解决之道:堆栈分析实战

目录 引言 友情提示难以复现的Bug之痛 寄存器(SP、LR)详解 SP寄存器&#xff1a;堆栈的指路明灯LR寄存器&#xff1a;函数调用与异常处理的桥梁 问题分析与解决流程揭秘 保存现场分析堆栈数据 堆栈结构入栈顺序 案例 J-Link工具 常用命令保存RAM数据到本地 分析栈基本信息 分…

全国大学生数据建模比赛——深度学习

全国大学生数学建模比赛中&#xff0c;深度学习可以成为解决复杂问题的有力手段。 一、深度学习的优势在比赛中的体现 强大的模式识别能力&#xff1a;深度学习模型&#xff0c;如卷积神经网络&#xff08;CNN&#xff09;和循环神经网络&#xff08;RNN&#xff09;&#xff0…

如何在 Raspberry Pi 5 上设置 Raspberry Pi AI Kit

本指南将帮助您在 Raspberry Pi 5 上安装 Raspberry Pi AI Kit。这将使您能够使用 Hailo AI 神经网络加速器运行 rpicam-apps 摄像头演示。 如果您在开始安装人工智能套件之前需要帮助&#xff0c;本指南提供了安装过程的分步图片。 安装人工智能套件&#xff1a;https://www.…

【初出江湖】SOA 与微服务:哪个最适合您的业务?

目录标题 面向服务的体系结构 (SOA)SOA 角色那么它们是如何通信和协同工作的呢&#xff1f; SOA 的优势 微服务架构微服务的优势 SOA 和微服务之间的区别SOA 与微服务&#xff1a;常见问题采用 SOA 和微服务面临哪些挑战&#xff1f;SOA 和微服务是否可以共存&#xff1f;每种体…

wpf prism 《1》、区域 、模块化

安装prism.DryIoc 修改app.xaml <prism:PrismApplication x:Class"WpfApp3.App"xmlns"http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x"http://schemas.microsoft.com/winfx/2006/xaml"xmlns:local"clr-namespace:W…

vue2的使用

准备容器引包&#xff08;官网&#xff09; — 开发版本/生产版本创建Vue实例 new Vue()指定配置项&#xff0c;渲染数据 el:指定挂载点data提供数据 可以把线上的cdn的vue的地址下载到本地进行依赖。 Vue2下载地址 https://v2.vuejs.org/v2/guide/installation.html vue.js没…

Linux虚拟机搭建K8S环境

文章目录 一、环境准备二、系统初始化三、部署master四、添加node节点五、部署网络六、部署dashboard七、登录dashboard面板 一、环境准备 首先在vmware上新建4台相同配置的虚拟机&#xff0c;除了IP和主机名外&#xff0c;其余配置相同。由于是搭建K8S初始环境&#xff0c;没…

开学寄快递,行李轻松寄,出行无压力

“春风得意马蹄疾&#xff0c;一日看尽长安花。”新的学期&#xff0c;新的征程&#xff0c;新生们在准备迎接开学时&#xff0c;不想拖着重重的行李开学的&#xff0c;那么寄快递这件事可得提上日程啦! 一、如何选择快递 如何选择一家价格实惠的快递公司成为了大家关注的焦点…

Linux bash脚本 批量创建文件

目录 一. 需求二. 前置知识一. 无进度条版本1.1 知识点1.2 代码1.3 效果 二. 有进度条版本2.1 代码2.2 效果 一. 需求 在当前目录下生成指定年份的文件&#xff0c;要求从生成1月到12月&#xff0c;每个月份的文件。 若用户不指定年份&#xff0c;则默认生成当前年的文件提示…

【C++】手动实现String类的封装(分文件编译)

实现了String类的大部分封装&#xff0c;采用分文件编译 //mystring.h #ifndef MYSTRING_H #define MYSTRING_H#include <iostream> #include <cstring> using namespace std;class myString { private:char *str; //定义一个字符串int size; //记录字符串…

[知识分享]华为铁三角工作法

在通信技术领域&#xff0c;尤其是无线通信和物联网领域&#xff0c;“华为铁三角”是华为公司内部的一种销售、交付和服务一体化的运作模式。这种模式强调的是以客户为中心&#xff0c;通过市场、销售、交付和服务三个关键环节的紧密协作&#xff0c;快速响应客户需求&#xf…