当前位置: 首页 > news >正文

echarts 3D地图

通过echats echats-gl 实现的3D地图页面。

先上效果图:
在这里插入图片描述
1.通过外边js引入方式,引入必要的js压缩文件

<script src="/static/vue-v2/vue.js"></script>
<script src="/static/assets/echarts-v5/echarts.min.js"></script>
<script src="/static/assets/echarts-v5/echarts-gl.min.js"></script> 
2.新建mixins混入的map.js 文件`

var mixins = {
data() {
return {
city: [],//数据格式
min: 0,
max: 300,
currentMouseOverIndex: null,
hasMap: false,
cityJson: null,
regionCode: ‘tangshan’,
chart: ‘’,
};
},
watch: {
},
mounted() {
window.addEventListener(“resize”, this.handleWindowResize);
this.getJson(‘唐山市’)
},
methods: {
// 返回上一级
backHistory() {
this.getJson(‘唐山市’)
},
// 引入json
getJson(name,paramsData=[], isInit = true) {
//通过 fetch 方法引入json
fetch(/static/index/js/map/${name}.json)
.then(response => response.json())
.then(data => {
let cityData = [];
if (isInit) {
data.features.map(el => {
const obj = { //city数据格式
name: el.properties.name,
code: el.properties.adcode,
value: Math.floor(Math.random() * (500 - 100) + 100)
};
cityData.push(obj)
});
this.city = cityData;
}else{
this.city=paramsData
}

                this.cityJson = data;let alphabets = [];for (let i = 65; i <= 90; i++) {alphabets.push(String.fromCharCode(i));}let regionCode = ""for (let i = 0; i < 10; i++) {regionCode += alphabets[Math.floor(Math.random() * 25)];} //regionCode 随机生成的,地图名称要用到this.echartschange(regionCode, this.city);});},/*** 当窗口缩放时,echart动态调整自身大小*/handleWindowResize() {if (!this.chart) return;this.chart.resize();},handleData(city) {let max = Math.max.apply(Math,city.map((item) => {return item.value;}));this.max = Math.ceil(max / 7) * 7;// 最小值 1let min = Math.min.apply(Math,city.map((item) => {return item.value;}));this.min = Math.floor(min);},echartschange(regionCode, cityData) {this.chart && this.chart.clear();let city = cityData ? cityData : this.city;if (!city || city.length === 0) return;this.handleData(city);console.log('mainchart:', this.$refs.mainchart)let that = this;this.chart = echarts.init(this.$refs.mainchart);echarts.registerMap(regionCode, this.cityJson); let option = {tooltip: {formatter: function (params) {let result = "";result = `<div style="width:196px;height:120px;margin-top:-12px;background:#192E5E; "><div style="width:100%;overflow:hidden;font-size:16px;font-weight:bold;color: #12C49B;padding:10px 0 4px 0"> <span style="display:inline-block">${params.name}</span></div><div style="font-size:14px;padding:2px 0 2px 0"><span style="color:rgba(203, 255, 248, 1)">项目数量</span><span style="color:rgba(18, 196, 155, 1)">${params.data.value}</span></div> </div>`;return result;

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 可信的人类与人工智能协作:基于人类反馈和物理知识的安全自主驾驶强化学习
  • JAVA开源项目 校园管理系统 计算机毕业设计
  • python fastapi 打包exe
  • mysql笔记7(单表查询)
  • Python知识点:如何使用Python进行日志处理与分析
  • 2024icpc南京站
  • go-zero的快速实战(完整)
  • 基础 Web 开发
  • R134a制冷剂简介
  • clickhouse适用的业务场景
  • 编写XBOX控制器实现鼠标键盘输入
  • 数学建模笔记—— 回归分析
  • MultiSnapRecyclerView:让Android RecyclerView的滚动停靠更灵活
  • oracle 用游标为什么会比for循环慢?
  • 开始一个WPF项目时的记忆重载入
  • 【css3】浏览器内核及其兼容性
  • 5分钟即可掌握的前端高效利器:JavaScript 策略模式
  • Java 23种设计模式 之单例模式 7种实现方式
  • MaxCompute访问TableStore(OTS) 数据
  • MD5加密原理解析及OC版原理实现
  • Mithril.js 入门介绍
  • PHP 7 修改了什么呢 -- 2
  • Python 基础起步 (十) 什么叫函数?
  • Python学习之路13-记分
  • RxJS: 简单入门
  • Vue2.0 实现互斥
  • vue2.0开发聊天程序(四) 完整体验一次Vue开发(下)
  • Vue实战(四)登录/注册页的实现
  • 提醒我喝水chrome插件开发指南
  • 突破自己的技术思维
  • Linux权限管理(week1_day5)--技术流ken
  • # 利刃出鞘_Tomcat 核心原理解析(八)-- Tomcat 集群
  • #传输# #传输数据判断#
  • #我与Java虚拟机的故事#连载03:面试过的百度,滴滴,快手都问了这些问题
  • (1)无线电失控保护(二)
  • (21)起落架/可伸缩相机支架
  • (4)logging(日志模块)
  • (8)STL算法之替换
  • (C语言)字符分类函数
  • (delphi11最新学习资料) Object Pascal 学习笔记---第13章第6节 (嵌套的Finally代码块)
  • (HAL库版)freeRTOS移植STMF103
  • (板子)A* astar算法,AcWing第k短路+八数码 带注释
  • (机器学习的矩阵)(向量、矩阵与多元线性回归)
  • (九)c52学习之旅-定时器
  • (四)activit5.23.0修复跟踪高亮显示BUG
  • (原創) 如何解决make kernel时『clock skew detected』的warning? (OS) (Linux)
  • (转)使用VMware vSphere标准交换机设置网络连接
  • ./configure,make,make install的作用(转)
  • .equals()到底是什么意思?
  • .net 生成二级域名
  • .NET高级面试指南专题十一【 设计模式介绍,为什么要用设计模式】
  • .net中应用SQL缓存(实例使用)
  • /bin、/sbin、/usr/bin、/usr/sbin
  • :class的用法及应用
  • @GetMapping和@RequestMapping的区别