文章目录

  • 前言
  • 一、echarts是什么?
  • 二、使用步骤
    • 1.引入echarts库,3d地图必须安装echarts-gl依赖
    • 2.制作地图JSON文件
    • 3.引入到vue组件中
  • 总结

前言

之前我们已经成功在 vue2 中渲染了 echarts3D 地图,那么这次我们直接进阶成 vue3渲染 geo3D地图,并且承接上一章末尾许下的小彩蛋,我们在 3D 地图上加入, 3D 柱状图,和热力图!

本文框架基于 vue3.x setup + vite + TypeScript


一、echarts是什么?

“ECharts是一款基于JavaScript的数据可视化图表库,提供直观,生动,可交互,可个性化定制的数据可视化图表。”

二、使用步骤

1.引入echarts库,3d地图必须安装echarts-gl依赖

npm install echarts --save
npm install echarts-gl --save

2.制作地图JSON文件

在渲染3d地图之前,我们还需要到<<DATAV.GeoAltas地理小工具系列>>网站下载我们需要的json数据,这里我用浙江地图做示例下载好了json文件

“zhejiang.json”

3.引入到vue组件中

因为本篇文章是进阶版,所以就不做过多的教程步骤教程了!那么直接上全部代码(如果想要了解详细步骤原理请查看上一篇文章内容哦~)

<template><div class="map" id="mapEchart" style="width:100%;height:100vh"></div>
</template><script setup>
// 引入工具
import geoJson from "./zhejiang.json"; //该文件路径改成自己项目中的文件路径即可
import * as echarts from "echarts";
import "echarts-gl"; //3D地图插件
import { onMounted } from "vue";// 定义echarts方法
const chartMap = () => {var myChart = echarts.init(document.getElementById("mapEchart"));// 重点:不要遗漏这句代码!!echarts.registerMap("zhejiang", geoJson);// 图表配置项let option = {tooltip: {show: true,},//热力图配置项visualMap: [{type: "continuous",text: ["xxx"],calculable: true,max: 250,inPange: {color: ["#87aa66", "#eba438", "#d94d4c"],},},],//3D地图配置项geo3D: {map: "zhejiang",roam: true,itemStyle: {color: "#007aff",opacity: 0.8,borderWidth: 0.4,borderColor: "#000",// areaColor: '#fff'},viewControl: {autoRotate: true,autoRotateAfterStill: 3,distance: 120,minAlpha: 5, // 上下旋转的最小 alpha 值。即视角能旋转到达最上面的角度。[ default: 5 ]maxAlpha: 90, // 上下旋转的最大 alpha 值。即视角能旋转到达最下面的角度。[ default: 90 ]minBeta: -360, // 左右旋转的最小 beta 值。即视角能旋转到达最左的角度。[ default: -80 ]maxBeta: 360, // 左右旋转的最大 beta 值。即视角能旋转到达最右的角度。[ default: 80 ]animation: true, // 是否开启动画。[ default: true ]animationDurationUpdate: 1000, // 过渡动画的时长。[ default: 1000 ]animationEasingUpdate: "cubicInOut", // 过渡动画的缓动效果。[ default: cubicInOut ]},emphasis: {disabled: true, //是否可以被选中label: {//移入时的高亮文本show: true,color: "#333", //显示字体颜色变淡fontSize: 18, //显示字体变大},itemStyle: {color: "#ff7aff", //显示移入的区块变粉色},},label: {show: true,position: "top",color: "#111", //地图初始化区域字体颜色fontSize: 14,lineHeight: 16,},shading: "lambert",light: {//光照阴影main: {// color: "#fff", //光照颜色intensity: 1, //光照强度//shadowQuality: 'high', //阴影亮度shadow: true, //是否显示阴影shadowQuality: "medium", //阴影质量 ultra //阴影亮度alpha: 55,beta: 10,},ambient: {intensity: 0.7,},},},series: [//3D柱状图配置项{name: "xxx",type: "bar3D",coordinateSystem: "geo3D",barSize: 3,shading: "lambert",opacity: 1,bevelSize: 0.2,label: {show: false,formatter: "{a}",},//自定义的data数组 value中数组的含义:[杭州的经度or纬度,要展示的3d柱状图数值大小]data: [{ name: "杭州", value: [120.161693, 30.280059, 643] },{ name: "温州", value: [120.705869, 28.001095, 98] },{ name: "湖州", value: [120.094566, 30.899015, 72] },{ name: "嘉兴", value: [120.762045, 30.750912, 131] },{ name: "绍兴", value: [120.586673, 30.036519, 116] },{ name: "丽水", value: [119.929503, 28.472979, 40] },{ name: "衢州", value: [118.880768, 28.941661, 22] },{ name: "金华", value: [119.654027, 29.084455, 156] },{ name: "台州", value: [121.426996, 28.662297, 110] },{ name: "宁波", value: [121.556686, 29.880177, 163] },{ name: "舟山", value: [122.214339, 29.991092, 20] },],},],};myChart.setOption(option);//让可视化地图跟随浏览器大小缩放window.addEventListener("resize", () => {charts.resize();});
};onMounted(() => {// 挂载echartchartMap();
});
</script><style lang="less" scoped>
</style>

总结

在vue3中引入3d地图echarts是不是也非常简单呢!

【3d地图】vue3.0中使用echarts geo3D相关推荐

  1. 【3d地图】vue中使用echarts geo3D

    文章目录 前言 一.echarts是什么? 二.使用步骤 1.引入echarts库,3d地图必须安装echarts-gl依赖 2.制作地图JSON文件 2.1 制作自己的json 3.引入到vue组件 ...

  2. vue3.0中使用Element-plus默认英文组件修改为中文

    vue3.0中使用Element-plus默认英文组件修改为中文修改方法 说明:本方法Element-plus 1.0.2-beta.59 之前的版本可以,1.0.2-beta.59之后版本请看下一篇 ...

  3. vue3.0中props父子传值的改动

    前言: 对vue3.0的学习以及对技术更新升级内容的整理与使用,这里分析下他的props父子传值的改动. vue官方入口 目录 一.vue2.0中props的用法 1.父组件中 a.vue中 2.子组 ...

  4. vue3.0中找不到组件 或者找不到对应的类型声明。怎么解决

    vue3.0中找不到组件 或者找不到对应的类型声明如何解决? 这里报错 .报错原因 报错就是ts影响 找不到组件模块或者找不到对应的类型声明 typescript 只能理解 .ts 文件,无法理解 . ...

  5. vue3.0中setup使用(两种用法)

    这篇文章主要介绍了vue3.0中setup使用,本文通过两种用法给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下 一.setup函数的特性以及作用 可以确定的是 V ...

  6. 如何在Axure 9.0 中使用echarts

    如何在Axure 9.0 中使用echarts 在需要插入echarts的页面中交互事件 -> 页面载入时 -> 打开链接 ,加入如下代码,插入echats代码. javascript: ...

  7. Vue3.0中的变化

    1.Vue3 简介 2020 年 9 月 18 日,Vue.js 发布 3.0 版本,代号:One Piece(海贼王) 2.Vue3 带来了什么 1.性能的提升 打包大小减少 41% 初次渲染快 5 ...

  8. vue3.0中使用elementUi(element-plus的使用)

    element-plus的使用 小朋友,你是不是有很多问号❓❓❓ 甲:为什么在vue3.0中不能使用Element UI了? 乙:由于vue3.0在插件install函数的入参从Vue原型(类)改成了 ...

  9. 在vue3.0中如何去除网址中的#

    vue的history模式的实现 在vue3.0中如何去除网址中的#号 history模式 在vue3.0中如何去除网址中的#号 事情是这样的,最近在用vue写一个商场的项目,当时对于页面网址美观程度 ...

最新文章

  1. 跨区域MPLS TE
  2. Elasticsearch-03 CentOS7 / Windows上部署Elasticsearch5.6.16集群模式
  3. 字节一面 —— List 和 Map、Set 的区别
  4. python 生成器 原理_你知道python中的函数、生成器的工作原理吗?
  5. iphone天行连接不上服务器未响应,天行连接不上 - 卡饭网
  6. 提示microsoft incremental linker已停止工作解决方法
  7. C# WPF MVVM 实战 – 3 – 树结构
  8. jQuery Mobile 中文手册 Ajax开发版(2)
  9. [转载]基于TFS实践敏捷-Scrum模式运用
  10. c语言语法大全,oc语言基本语法汇总分析
  11. 华为手机计算机快捷设置密码,华为手机首次重启绘制图案密码后让输入解锁密码。我没有设置呀?怎么办...
  12. 今日头条 巨量引擎 marketing api
  13. 2023年春招热门笔试算法题(C++)
  14. 软件能力成熟度模型(Capabilitymaturity model,CMM)
  15. 谷歌基情录:TensorFlow、Hadoop、MapReduce 都靠他们诞生!
  16. keil编程时 error: #65: expected a “;“ 的解决办法
  17. det曲线_11565 P-R、ROC、DET 曲线及 AP、AUC 指标全解析(上)
  18. 这样的 20 张数据可视化大屏真的很香,数据直接套用即可(含源码)
  19. 二十四孝故事四:负米养亲
  20. android简单的有道词典开发

热门文章

  1. os.system获取返回值 python3 cmd 获取返回值
  2. 2022年9月大学英语B统考题库网考大学英语B试题
  3. 短视频剪辑制作教学:编辑短视频时需要注意的三个方面
  4. 打击恶意逃废债 捞财宝响应互金整治办报送“老赖”信息
  5. 征信大数据的盈利模式,怎么赚钱?
  6. 用于 LLM 应用开发的 LangChain 中文版
  7. python菜鸟教程python机器学习工具库
  8. 用遗传算法GA改进CloudSim自带的资源调度策略
  9. C++算法:.盛最多的水的容器:(双指针,夹逼法)
  10. ROHM | 面向高端ADAS开发出业界超稳定运行的DC-DC转换器IC“BD9S402MUF-C”