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

之前也有使用过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

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

关于paddleocr的predict_system按高度顺序画图

关于paddleocr的predict_system按高度顺序画图&#xff0c;&#xff08;coco格式&#xff09; 增加adjust_res函数&#xff1a; 实现代码&#xff1a; def adjust_res(res):res_cp deepcopy(res)res_cp sorted(res_cp, keylambda x: x[bbox][1], reverseFalse)return res …

Android Studio项目——TCP客户端

目录 一、TCP客户端UI 1、UI展示 2、xml代码 二、TCP客户端数据发送 三、TCP客户端数据接收 一、TCP客户端UI 1、UI展示 2、xml代码 <?xml version"1.0" encoding"utf-8"?> <RelativeLayout xmlns:android"http://schemas.android.…

【算法专题】贪心算法

贪心算法 贪心算法介绍1. 柠檬水找零2. 将数组和减半的最少操作次数3. 最大数4. 摆动序列(贪心思路)5. 最长递增子序列(贪心算法)6. 递增的三元子序列7. 最长连续递增序列8. 买卖股票的最佳时机9. 买卖股票的最佳时机Ⅱ(贪心算法)10. K 次取反后最大化的数组和11. 按身高排序12…

leetcode514. 自由之路【线性dp】

原题链接&#xff1a;leetcode514. 自由之路 题目描述 电子游戏“辐射4”中&#xff0c;任务 “通向自由” 要求玩家到达名为 “Freedom Trail Ring” 的金属表盘&#xff0c;并使用表盘拼写特定关键词才能开门。 给定一个字符串 ring &#xff0c;表示刻在外环上的编码&…

CHS_03.2.3.2_2+进程互斥的硬件实现方法

CHS_03.2.3.2_2进程互斥的硬件实现方法 知识总览中断屏蔽方法TestAndSet指令Swap指令 知识回顾 进程互斥的四种软件实现方法 知识总览 这个小节我们会介绍另外的三种进程互斥的硬件实现方法 那么 这个小节的学习过程当中 大家需要注意理解各个方法的原理 并且要稍微的了解各个…

OpenGL ES 渲染 NV21、NV12 格式图像有哪些“姿势”?

使用2个纹理实现 NV21 格式图像渲染 前文提到渲染 NV21 格式图像需要使用 2 个纹理,分别用于保存 Y plane 和 UV plane 的数据,然后在片段着色器中分别对 2 个纹理进行采样,转换成 RGB 数据。 OpenGLES 渲染 NV21或 NV12 格式图像需要用到 GL_LUMINANCE 和 GL_LUMINANCE_A…

更改远程桌面网关端口和远程Web应用程序端口

很多玩Home-Lab的小伙伴会使用远程桌面网关&#xff08;Remote Desktop Gateway&#xff09;来安全远程家庭内网的计算机&#xff0c;但由于国内电信法律法规的原因&#xff0c;普通家庭宽带并不能使用默认的443端口&#xff08;TCP&#xff09;和3391端口&#xff08;UDP&…

Shell中sed编辑器

1.简介 sed是一种流编辑器&#xff0c;流编辑器会在编辑器处理数据之前基于预先提供的一组规则来编辑数据流。 sed编辑器可以根据命令来处理数据流中的数据&#xff0c;这些命令要么从命令行中输入&#xff0c;要么存储在一个 命令文本文件中。 2.sed编辑器的工作流程 sed…

【高效开发工具系列】Wolfram Alpha

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

linux离线升级openssh方法

检查openssh版本&#xff1a; 升级前openssh 版本为7.4 openssl 版本为1.0.2k Openssh9.6 所需openssl >1.1.1 因此openssl也需要升级。 为了防止升级失败&#xff0c;无法使用SSH登录&#xff0c;首先安装telnet 预防。查看是否安装了telnet 客户端及服务 未安装tel…

npm安装下载修改镜像源

问题描述一 npm install 时&#xff0c;报错&#xff1a;npm ERR! network request to https://registry.npmjs.org/postcss-pxtorem failed, reason: connect ETIMEDOU&#xff0c;这是因为默认npm安装会请求国外的镜像源&#xff0c;导致下载缓慢容易断开请求下载失败的 np…

高效集成|聚道云软件连接器实现薪人薪事与每刻报销无缝对接

一、客户介绍 某石油天然气有限公司是一家在石油天然气领域拥有深厚实力和丰富经验的公司。在技术方面&#xff0c;该公司始终保持领先地位&#xff0c;拥有高素质、专业化的技术团队&#xff0c;不断引进和吸收国际先进技术&#xff0c;加强自主创新&#xff0c;为公司的持续…

C语言菜鸟入门·判断语句(if语句、if...else语句、嵌套if语句)详细介绍

目录 1. if语句 2. if...else语句 3. if...else if...else 语句 4. 嵌套if语句 C 语言把任何非零和非空的值假定为 true&#xff0c;把零或 null 假定为 false。 语句描述if语句一个 if 语句 由一个布尔表达式后跟一个或多个语句组成。if...else语句一个 if 语句 后可跟…

绿色荧光素标记半胱氨酸,FITC-Cysteine,可以用来标记和追踪细胞内的蛋白质

您好&#xff0c;欢迎来到新研之家 文章关键词&#xff1a;FITC半胱氨酸&#xff0c;绿色荧光素标记半胱氨酸&#xff0c;FITC Cysteine 一、基本信息 产品简介&#xff1a;FITC Crystal green fluorescent labeled cysteine is a widely used biological tracer with high …

海外云手机开辟企业跨境电商新道路

近几年&#xff0c;海外云手机为跨境电商、海外媒体引流、游戏行业等互联网领域注入了蓬勃活力。对于国内跨境电商而言&#xff0c;在亚马逊及其他平台上&#xff0c;短视频引流和社交电商营销成为最为有效的流量来源。如何通过海外云手机的助力&#xff0c;在新兴社交平台为企…

28 python快速上手

索引和函数及存储过程 1. 索引1.1 索引原理1.1.1 非聚簇索引&#xff08;mysiam引擎&#xff09;1.1.2 聚簇索引&#xff08;innodb引擎&#xff09; 1.2 常见索引1.2.1 主键和联合主键索引1.2.2 唯一和联合唯一索引1.2.3 索引和联合索引案例&#xff1a;博客系统 1.3 操作表1.…

​ArcGIS Pro 如何批量删除字段

在某些时候&#xff0c;我们得到的图层属性表内可能会有很多不需要的字段&#xff0c;如果挨个去删除会十分的麻烦&#xff0c;对于这种情况&#xff0c;我们可以使用工具箱内的字段删除工具批量删除&#xff0c;这里为大家介绍一下使用方法&#xff0c;希望能对你有所帮助。 …

Unity3d Cinemachine篇(三)— FreeLook

文章目录 前言一、使用FreeLook制造第三人称跟随效果1. 创建一个游戏物体2. 创建FreeLook相机4. 完成 前言 上一期我们简单的使用了Dolly CamerawithTrack相机&#xff0c;这次我们来使用一下FreeLook 一、使用FreeLook制造第三人称跟随效果 1. 创建一个游戏物体 游戏物体比较…

类与对象下篇

前言 在类与对象上篇我们讲解了类的基础框架&#xff0c;中篇我们讲解了类的基本内容&#xff0c;下篇我们将补充类的一些零散知识点。 一、构造函数的初始化&#xff08;初始值&#xff09;列表 构造函数&#xff1a;创建类对象时自动调用&#xff0c;给对象中各个成员变量一…

多模态大模型综述整理

论文&#xff1a;MM-LLMs: Recent Advances in MultiModal Large Language Models 论文地址&#xff1a; https://arxiv.org/pdf/2401.13601.pdf 表1&#xff1a;26种主流多模态大型语言模型&#xff08;MM-LLMs&#xff09;概要 输入到输出模态&#xff08;I→O&#xff09;…