Vue 中使用echarts 绘制地图

2023-11-10 06:08

本文主要是介绍Vue 中使用echarts 绘制地图,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

图形如下

在这里插入图片描述

第一步,下载echarts
npm install echarts --save-dev
第二步,创建echarts.js文件,按需导入echarts
//echarts.js
import echarts from 'echarts/lib/echarts';
//引入地图
import 'echarts/lib/chart/map';
//引入柱状图
import 'echarts/lib/chart/bar';
//引入饼图
import 'echarts/lib/chart/pie';
import 'echarts/lib/chart/scatter';
//引入折线图
import 'echarts/lib/chart/line';//引入插件
import 'echarts/lib/component/legend';
import 'echarts/lib/component/tooltip';
import 'echarts/lib/component/geo'
import 'echarts/lib/component/toolbox'
import 'echarts/lib/component/visualMap'
import 'echarts/lib/component/title'//导出echarts
export default echarts
第三步,下载所需区域地图的json数据

网站为http://datav.aliyun.com/tools/atlas/#&lat=31.840232667909365&lng=104.2822265625&zoom=4.
进入网站找到需要的省市,点击左下角的geojson下载到本地
在这里插入图片描述
通过第四步import方式引入数据即可使用。

第四步,建立地图组件
<template><div class="echarts"><div :style="{height:'400px',width:'100%'}" ref="myEchart"></div></div>
</template>
<script>import echarts from "../plugins/echarts";import JSON from "../assets/hz.json"; // 引入杭州市地图数据(引入方式重点,本人用其他方式报错)export default {name: "echarts",data() {return {mapOption:{//标题内容title: {text: "杭州市各区案件分布图 ",},//鼠标移入时显示的内容tooltip: {trigger: "item",formatter: "{b}<br/>{c} (p / km2)",},//左下角显示内容高低visualMap: {min: 100,max: 5000,text: ["高", "低"],realtime: false,calculable: true,inRange: {color: ["lightskyblue", "yellow", "orangered"],},},series: [{type: "map",//图标类型mapType: "杭州市", // 自定义扩展图表类型name: "杭州市各区案件完成数量对比",label: {show: true,},//用于修改正常显示地图颜色边框等内容normal: {borderWidth: 1,borderColor: "#e1e1e1",color: "#90c31d",opacity : 0.8},//用于修改鼠标移入时地图颜色边框等内容emphasis: {areaColor:"#749f83",//修改移入时地图颜色},data: [{ name: "西湖区", value: 2057.34 },{ name: "余杭区", value: 1577.48 },{ name: "临安区", value: 386.1 },{ name: "淳安区", value: 692.6 },{ name: "建德市", value: 445.49 },{ name: "桐庐县", value: 489.64 },{ name: "富阳区", value: 376.78 },{ name: "萧山区", value: 451.97 },{ name: "拱墅区", value: 520.26 },{ name: "下城区", value: 210.9 },{ name: "江干区", value: 418.26 },{ name: "滨江区", value: 581.84 },{ name: "上城区", value: 418.01 },],},],}};},mounted() {this.drawMap();},beforeDestroy() {if (!this.chart) {return;}this.chart.dispose();this.chart = null;},methods: {drawMap() {//折线图let leftchart1 = echarts.init(document.getElementById("leftchart1"));leftchart1.setOption(this.leftchart1);let leftchart2 = echarts.init(document.getElementById("leftchart1"));leftchart2.setOption(this.leftchart2);//地图var myChart = echarts.init(document.getElementById("centerMap"));echarts.registerMap("杭州市", JSON, {}); //这个是关键,之前拿到的青州各街道数据let option = {title: {text: "杭州市案件分布图 ",},tooltip: {trigger: "item",formatter: "{b}<br/>{c} (p / km2)",},visualMap: {min: 100,max: 5000,text: ["高", "低"],realtime: false,calculable: true,inRange: {color: ["lightskyblue", "yellow", "orangered"],},},series: [{name: "杭州市各区案件完成数量对比",type: "map",mapType: "杭州市", // 自定义扩展图表类型label: {show: true,},data: [{ name: "西湖区", value: 2057.34 },{ name: "余杭区", value: 1577.48 },{ name: "临安区", value: 386.1 },{ name: "淳安区", value: 692.6 },{ name: "建德市", value: 445.49 },{ name: "桐庐县", value: 489.64 },{ name: "富阳区", value: 376.78 },{ name: "萧山区", value: 451.97 },{ name: "拱墅区", value: 520.26 },{ name: "下城区", value: 210.9 },{ name: "江干区", value: 418.26 },{ name: "滨江区", value: 581.84 },{ name: "上城区", value: 418.01 },],}myChart.setOption(this.mapOption);}}
</script>

这篇关于Vue 中使用echarts 绘制地图的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/380808

相关文章

Linux使用cut进行文本提取的操作方法

《Linux使用cut进行文本提取的操作方法》Linux中的cut命令是一个命令行实用程序,用于从文件或标准输入中提取文本行的部分,本文给大家介绍了Linux使用cut进行文本提取的操作方法,文中有详... 目录简介基础语法常用选项范围选择示例用法-f:字段选择-d:分隔符-c:字符选择-b:字节选择--c

禁止HTML页面滚动的操作方法

《禁止HTML页面滚动的操作方法》:本文主要介绍了三种禁止HTML页面滚动的方法:通过CSS的overflow属性、使用JavaScript的滚动事件监听器以及使用CSS的position:fixed属性,每种方法都有其适用场景和优缺点,详细内容请阅读本文,希望能对你有所帮助... 在前端开发中,禁止htm

使用Go语言开发一个命令行文件管理工具

《使用Go语言开发一个命令行文件管理工具》这篇文章主要为大家详细介绍了如何使用Go语言开发一款命令行文件管理工具,支持批量重命名,删除,创建,移动文件,需要的小伙伴可以了解下... 目录一、工具功能一览二、核心代码解析1. 主程序结构2. 批量重命名3. 批量删除4. 创建文件/目录5. 批量移动三、如何安

springboot的调度服务与异步服务使用详解

《springboot的调度服务与异步服务使用详解》本文主要介绍了Java的ScheduledExecutorService接口和SpringBoot中如何使用调度线程池,包括核心参数、创建方式、自定... 目录1.调度服务1.1.JDK之ScheduledExecutorService1.2.spring

Java使用Tesseract-OCR实战教程

《Java使用Tesseract-OCR实战教程》本文介绍了如何在Java中使用Tesseract-OCR进行文本提取,包括Tesseract-OCR的安装、中文训练库的配置、依赖库的引入以及具体的代... 目录Java使用Tesseract-OCRTesseract-OCR安装配置中文训练库引入依赖代码实

Vue3中的动态组件详解

《Vue3中的动态组件详解》本文介绍了Vue3中的动态组件,通过`component:is=动态组件名或组件对象/component`来实现根据条件动态渲染不同的组件,此外,还提到了使用`markRa... 目录vue3动态组件动态组件的基本使用第一种写法第二种写法性能优化解决方法总结Vue3动态组件动态

Python使用Pandas对比两列数据取最大值的五种方法

《Python使用Pandas对比两列数据取最大值的五种方法》本文主要介绍使用Pandas对比两列数据取最大值的五种方法,包括使用max方法、apply方法结合lambda函数、函数、clip方法、w... 目录引言一、使用max方法二、使用apply方法结合lambda函数三、使用np.maximum函数

spring-boot-starter-thymeleaf加载外部html文件方式

《spring-boot-starter-thymeleaf加载外部html文件方式》本文介绍了在SpringMVC中使用Thymeleaf模板引擎加载外部HTML文件的方法,以及在SpringBoo... 目录1.Thymeleaf介绍2.springboot使用thymeleaf2.1.引入spring

Qt 中集成mqtt协议的使用方法

《Qt中集成mqtt协议的使用方法》文章介绍了如何在工程中引入qmqtt库,并通过声明一个单例类来暴露订阅到的主题数据,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友一起看看吧... 目录一,引入qmqtt 库二,使用一,引入qmqtt 库我是将整个头文件/源文件都添加到了工程中进行编译,这样 跨平台

C++使用栈实现括号匹配的代码详解

《C++使用栈实现括号匹配的代码详解》在编程中,括号匹配是一个常见问题,尤其是在处理数学表达式、编译器解析等任务时,栈是一种非常适合处理此类问题的数据结构,能够精确地管理括号的匹配问题,本文将通过C+... 目录引言问题描述代码讲解代码解析栈的状态表示测试总结引言在编程中,括号匹配是一个常见问题,尤其是在