vue 使用echarts-gl实现3d旋转地图

news2024/9/24 3:24:34

之前也有使用过echarts开发项目中涉及到的地图功能,当时使用geo来实现地图轮廓,看上去有种3d的感觉。最近闲来无事看了一份可视化大屏的UI设计图,感觉3d旋转地图挺好玩的,今天就来尝试实现下。
首先安装下echarts和echarts-gl依赖,在这里注意的点是,echarts-gl版本可以安装低版本,默认安装的依赖版本运行后一直报错。

$ npm install echarts@4.2.1 echarts-gl@1.1.0

安装好依赖,在页面引入

import echarts from 'echarts';
import 'echarts-gl';
import beijingJson from '../../src/api/beijing.json';

接下来我们看下完整的代码

<template>
	<div style="width: 100%; height:100%;">
		<div id="echarts" ref="myEcharts" style="width: 100%; height:100%;"></div>
	</div>
</template>
<script>
	import echarts from 'echarts';
	import 'echarts-gl';
	import beijingJson from '../../src/api/beijing.json';
	export default {
		data() {
			return {
			}
		},
		methods: {
			init() {
				let that = this;
				echarts.registerMap('beijing', beijingJson);
				that.option = {
					tooltip: {
						show: true,
						formatter: function(params) {
							let value = params.data.value;
							return params.seriesName + ':' + value[2];
						}
					},
					geo3D: {
						map: 'beijing',
						boxWidth: 70,
						boxHeight: 6,
						boxDepth: 70,
						realisticMaterial: {
							roughness:1,//粗糙度,0为完全光滑,1完全粗糙
							textureTiling: 32 //材质细节纹理的平铺
						},
						//光源的设置
						light: {
							main: {
								intensity: 1,
								shadow: true,
								alpha: 150,
								beta: 170
							},
							ambient: {
								intensity: 0
							}
						},
						//地面的背景颜色
						groundPlane: {
							show: true,
							color: 'transparent'
						},
						//特效设置
						postEffect: {
							enable: true
						},
						//标签样式
						label: {
							show: true,
							formatter: function(params) {
								var content = '',
									content = params.name;
								return content;
							},
							distance: 0,
							textStyle: {
								color: '#ffffff',
								fontWeight: 'normal',
								fontSize: 16,
								backgroundColor: 'rgba(255,255,255,0)'
							},
						},
						itemStyle: {
							color: '#73a4ff',
							borderColor: 'rgb(62,215,213)',
							borderWidth: 1
						},
						emphasis: {
							label: {
								show: true,
								distance: 10
							},
							itemStyle: {
								color: '#3b7efc',
							}
						},
						// 用于鼠标的旋转,缩放等视角控制。
						viewControl: {
							projection: "perspective", // 投影方式,默认为透视投影'perspective',也支持设置为正交投影'orthographic'。
							autoRotate: true,
							//更多配置可自行查询添加,
						}
					},
					series: []
				};

				let initEcharts = echarts.init(that.$refs.myEcharts);
				initEcharts.setOption(that.option);
			}

		},
		mounted() {
			this.$nextTick(() => {
				this.init();
			})
		}
	}
</script>

看完代码后对于之前做过地图的同学来说是不是和echarts没啥区别,只是多了一个geo3D的属性。geo3D是否显示三维地理坐标系组件,这也是实现3d地图的主要属性,针对geo3d中每个属性的功能大家可以在echarts文档进行查阅,这里我就不一一细说了。
在这里插入图片描述
这里把文档地址给大家贴出来了,大家可以查看文档,这样实现起来更快捷。https://echarts.apache.org/zh/option-gl.html#geo3D

最终效果:
在这里插入图片描述
这里我截图展示的,需要看地图动效的,大家可以在本地运行看下地图自动旋转效果。

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

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

相关文章

WebGL开发艺术和创意项目

WebGL提供了强大的图形渲染能力&#xff0c;可以用于开发各种艺术和创意项目。以下是一些使用WebGL开发艺术和创意项目的示例&#xff0c;希望对大家有所帮助。 1.交互式艺术品&#xff1a; 利用WebGL&#xff0c;可以创建具有交互性的艺术品。用户可以与艺术品进行互动、探索和…

正则表达式 文本三剑客

一 正则表达式&#xff1a; 由一类特殊字符及文本字符所编写的模式&#xff0c;其中有些字符&#xff08;元字符&#xff09;不表示字符字面意义&#xff0c;而表示控制或通配的功能&#xff0c;类似于增强版的通配符功能&#xff0c;但与通配符不同&#xff0c;通配符功能是用…

openGauss学习笔记-210 openGauss 数据库运维-常见故障定位案例-谓词下推引起的查询报错

文章目录 openGauss学习笔记-210 openGauss 数据库运维-常见故障定位案例-谓词下推引起的查询报错210.1 谓词下推引起的查询报错210.1.1 问题现象210.1.2 原因分析210.1.3 处理办法 openGauss学习笔记-210 openGauss 数据库运维-常见故障定位案例-谓词下推引起的查询报错 210.…

这些好用小众的知识库软件,快收藏起来

现代企业和团队日益重视知识管理&#xff0c;寻找能提供精准、高效、简便的知识库应用变得尤其重要。而今天&#xff0c;将带给大家三款小众却倍受好评的知识库软件&#xff0c;如果你是寻找有效的信息管理工具的话&#xff0c;那么以下就是你不能错过的秘密武器了&#xff0c;…

由于系统注册表文件丢失或损坏,因此Windows无法加载,如何解决?

问题描述&#xff1a;windows黑屏未能启动&#xff0c;提示由于系统注册表文件丢失或损坏&#xff0c;因此windows无法加载&#xff0c;错误代码&#xff1a;0xc000014c。出现这种问题的原因大多是因为电脑在使用过程中硬件松动&#xff0c;导致出现这种问题。 解决办法: 1. 如…

尝试搭建域

使用window 7 作为dmz 主机 server_2008 作为 预控 前提两台主机都在同一个LAN 下&#xff08;设置一个LAN 区域&#xff09;&#xff0c;同样防火墙关闭状态 首先搞定server 2008 中的域 1. 在计算机属性中选择更改设置中将主机名修改一下&#xff1a; 2. 在server 2008 中…

Java 面向对象进阶 01(黑马)

static案例代码&#xff1a; 代码&#xff1a; public class Student {private String gender;private String name;private int age;public static String teacherName ;public Student() {}public Student(String gender, String name, int age) {this.gender gender;this.…

四、ES集群安全策略设置 X-pack

本文主要是结合ES集群搭建时使用&#xff0c;并且适用于ES7.x以上版本 背景及安全策略方案对比 ES 7.x以下版本默认几乎没有任何安全策略&#xff0c;如果集群IP、端口被暴露&#xff0c;在可访问的情况下任何用户都可以对索引进行管理以及数据的增删改查等&#xff0c;基于此需…

故障脚本的重要作用:预防、诊断与恢复

故障脚本是在信息技术和计算机领域中广泛使用的一种自动化工具&#xff0c;它们的主要目的是预测、诊断和修复系统或软件中的故障。这些脚本在现代技术环境中扮演着至关重要的角色&#xff0c;本文将介绍故障脚本的主要作用。 一、预防性作用 监控和预警 故障脚本可以用于监控系…

互联网加竞赛 基于深度学习的人脸性别年龄识别 - 图像识别 opencv

文章目录 0 前言1 课题描述2 实现效果3 算法实现原理3.1 数据集3.2 深度学习识别算法3.3 特征提取主干网络3.4 总体实现流程 4 具体实现4.1 预训练数据格式4.2 部分实现代码 5 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; 毕业设计…

idea创建golang项目

目录 1、设置环境 2、创建项目 3、设置项目配置 4、初始化项目 5、安装本项目的外部依赖包 6、运行项目 7、访问页面查看结果 1、设置环境 1 启用 Go Modules 功能go env -w GO111MODULEon 2. 阿里云go env -w GOPROXYhttps://mirrors.aliyun.com/goproxy/,direct上述命…

string的基本概念及常用接口

string的基本概念 本质&#xff1a; string时C风格的字符串&#xff0c;而string本质上是一个类。 string和char*的区别&#xff1a; char*是一个字符指针。而string是一个类&#xff0c;类内部封装了char*&#xff0c;管理这个字符串&#xff0c;是一个char*型的容器。 特…

通过docker构建基于LNMP的WordPress项目

计划通过自定义网络模式&#xff0c;创建一个172.18.0.0/16网段 nginx&#xff1a;172.18.0.2:80 php&#xff1a;172.18.0.3:9000 mysql&#xff1a;172.18.0.4:3306 创建nginx的镜像 准备好nginx的安装包 准备nginx的网页目录和wordpress网站目录以及nginx.conf文件 编…

Mybatis-Plus基础

typora-copy-images-to: img Mybatis Plus 今日目标&#xff1a; 了解mybatisplus的特点能够掌握mybatisplus快速入门能够掌握mybatisplus常用注解能够掌握mybatisplus常用的增删改查能够掌握mybatisplus自动代码生成 1 MybatisPlus简介 1.1 MybatisPlus概述 ​ MyBatis-…

【开源】基于JAVA语言的就医保险管理系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 科室档案模块2.2 医生档案模块2.3 预约挂号模块2.4 我的挂号模块 三、系统展示四、核心代码4.1 用户查询全部医生4.2 新增医生4.3 查询科室4.4 新增号源4.5 预约号源 五、免责说明 一、摘要 1.1 项目介绍 基于JAVAVue…

Microsoft Edge 浏览器报错 提示不安全

网站提示不安全 是因为 Microsoft Edge 开了安全过滤 我们需要把这个关掉 打开浏览器的设置&#xff0c;然后 找到隐私选项 找到下边的Microsoft Defender Smartscreen 关掉 Microsoft Edge 支持 Microsoft Defender SmartScreen | Microsoft Learn win10系统下打开网页提示…

云服务器如何快速部署访问静态页面(个人网站博客等)

1&#xff0c;购买云服务器 2&#xff0c;配置安全项 云服务器ecs下&#xff0c;配置ip、端口所有人都可访问 3&#xff0c;关闭防火墙&#xff0c;将前端静态项目传输到云服务器上 可以使用SecureCRT&#xff0c;本地远程连接到服务器&#xff08;需要用户名与密码&#x…

basic CNN

文章目录 回顾卷积神经网络卷积卷积核卷积过程卷积后图像尺寸计算公式&#xff1a;代码 padding代码 Stride代码 MaxPooling代码 一个简单的卷积神经网络用卷积神经网络来对MINIST数据集进行分类如何使用GPU代码 练习 回顾 下面这种由线形层构成的网络是全连接网络。 对于图像…

分享4种免费的平面图设计工具

从事设计行业的工人或多或少会接触到平面图。例如&#xff0c;在建造任何类型的建筑&#xff0c;如新房子、办公室和酒店&#xff0c;都需要使用平面图来确保项目的准确性。平面设计强调视觉传达。一般来说&#xff0c;设计的目的和信息是通过排版、配色、构图等技术手段传达的…

Git学习笔记(第10章):自建代码托管中心GitLab

目录 10.1 简介 10.2 安装 10.2.1 准备服务器 10.2.2 准备安装包 10.2.3 编写安装脚本 10.2.4 初始化GitLab服务 10.2.5 启动GitLab服务 10.2.6 使用浏览器访问GitLab 10.3 创建远程库 10.4 本地库推送到远程库 10.1 简介 GitLab是由GitLab Inc.开发&#xff0c;使用…