先看效果图

image.png

image.png

首先下载echarts 插件,3d地图需要依赖echarts-gl

npm install echarts --save

npm install echarts-gl --save

创建echarts 容器,及弹窗(弹窗内容根据业务自行调整,此处略过)

LPL夏季赛({{name}})

{{item.name}}

{{item.circle}}
{{item.text}}
Loading

首先引入需要的echarts包

import echarts from "echarts/lib/echarts" //echarts

import "echarts/map/js/province/hubei.js"; //对应的省份

import "echarts-gl" //3D地图插件

配置echarts 参数

this.options = {

series: [

{

type: 'map3D',

name: '湖北',

selectedMode:"single",//地图高亮单选

boxDepth:90,//地图倾斜度

regionHeight:8,//地图高度

map: '湖北',

viewControl:{

distance:150,//地图视角 控制初始大小

rotateSensitivity:0,//禁止旋转

zoomSensitivity:0,//禁止缩放

},

label: {

show: true,//是否显示市

textStyle:{

color:"#0a1640",//文字颜色

fontSize:12,//文字大小

backgroundColor:"rgba(0,0,0,0)",//透明度0清空文字背景

}

},

itemStyle: {

color:"#81d0f1",//地图颜色

borderWidth: 0.5,//分界线wdith

borderColor: "#459bca",//分界线颜色

},

emphasis:{

label:{

show: true,//是否显示高亮

textStyle:{

color: '#fff',//高亮文字颜色

}

},

itemStyle:{

color: '#0489d6',//地图高亮颜色

}

},

//高亮市区 echarts bug 不生效

regions:[

{

name:"宜昌市",

itemStyle:{

areaColor:"#f00",

}

}

]

}]

}

实例化echarts

this.myChart = echarts.init(this.$refs.myEchart);

this.myChart.setOption(this.options);

//echarts自适应

window.onresize = this.myChart.resize;

let than = this ;

//绑定市区点击事件

this.myChart.on("click",function(e){

//防止重复点击

if(than.name == e.name){

return false;

}

//由于地图默认高亮不生效(echarts bug) 此处没写高亮对应市区

than.styles.left = (e.event.event.offsetX-132)+"px";//-132 根据布局计算偏移量

than.styles.top = (e.event.event.offsetY+80)+"px";//80根据布局计算偏移量

than.name = e.name;

//请求后台接口获取对应数据 ---此处模拟

than.tabsChange(than.btn[0]);

})

防止内存泄漏,vue钩子函数beforeDestroy(组件生命周期--实例对象销毁之前触发)

beforeDestroy() {

if (!this.myChart) {

return;

}

this.myChart.dispose();

this.myChart = null;

},

弹窗样式

/*懒加载图标动画*/

.demo-spin-icon-load{

animation: ani-demo-spin 1s linear infinite;

}

@keyframes ani-demo-spin {

from { transform: rotate(0deg);}

50% { transform: rotate(180deg);}

to { transform: rotate(360deg);}

}

/*弹窗样式*/

.layer{

position: absolute;

left: 400px;

top: 300px;

z-index: 100;

width: 360px;

height: 280px;

background:rgba(10,22,64,0.9) ;

border-radius: 5px;

border: 1px solid #122253;

transform: translate(-100%,-100%);

.content{

width: 100%;

height: 100%;

position: relative;

text-align: center;

p{

font-size: 20px;

color: #fff;

line-height: 50px;

}

.col-item{

height: 41px;

margin-top: 20px;

border-right: 1px solid #172353;

.num{

color: #ebf8ff;

font-size: 18px;

}

.text{

color: #507ebc;

font-size: 12px;

}

}

}

.content::after{

content: "";

width: 120px;

height: 2px;

background: #FFCCFF;

position: absolute;

right: -120px;

top: 50%;

transform: translateY(-50%);

}

.content::before{

content: "";

width: 2px;

height: 80px;

background: #FFB800;

position: absolute;

right: -134px;

top: 136px;

transform:rotateZ(-20deg) ;

}

}

echart 广州3d_vue echarts 3D地图+省+弹窗相关推荐

  1. vue echarts 3D地图+省+弹窗

    先看效果图 首先下载echarts 插件,3d地图需要依赖echarts-gl npm install echarts --save npm install echarts-gl --save 创建e ...

  2. echarts 3d地图

    echarts 3d地图 var option = {title: {show:false,text: '地图',left: 'center',top: 20,textStyle:{color:'#f ...

  3. echart 广州3d_echarts绘制3D城市地图

    使用echarts 绘制 中国地图/各省地图/市级地图 的3D地图 先上效果图javascript 中国 html 四川省 java 成都市 git 3D地图说明 经过使用 series-map3D ...

  4. vue+echarts+3D地图 制作大屏

    基于3d地图做的一些效果,首先看下效果图 ​​​​​​​ 准备工作:下载echarts 和3d地图需要用到的依赖包,版本随意就行 ​​​​​​​ 下载依赖之后,在页面引入,引入网上下载的地图json文 ...

  5. Echarts 3D地图图表

    需求:实现如图所示的3D地图图表 (1)原本使用的highcharts没有3d地图的功能,搜索插件也没有可替代的方案,选择echarts理由是在地图方面百度拥有毋庸置疑的实力 https://blog ...

  6. echart 广州3d_一个3D可视化项目背后的心酸:ECharts-X的坎坷路

    一个3D可视化项目背后的心酸:ECharts-X的坎坷路 (2015-02-05 17:26:32) 标签: 大数据 可视化项目 Raincent网络大数据(http://www.raincent.c ...

  7. echarts 3d地图_独占进博会800m2展厅!3D炫酷光影秀带你邂逅金山往事..._政务_澎湃新闻...

    流水悠悠,青砖黛瓦 记忆中的江南,是一种天然的古典韵味,好像只要身临其境,就能梦回江南的曲水流觞.炊烟袅袅...... 金 山 如 画 醉 美 枫 泾 如何把来参加进博会的观众直接带至枫泾? 答案一共 ...

  8. echarts 3d地图_用Echarts绘制地图-绘制省级地图

    公司有一个大数据平台的需求,图表什么的都还好实现.主要就是当中的地图效果我没有做过所以耗费了我一些时间去查资料,万幸还是实现出来了,当然只是一个特别基础的图层没有散点没有下钻,但后面会逐步写出来,所以 ...

  9. echarts 3d地图-成都

    <template><div class="right_main_under"element-loading-text="拼命加载中"elem ...

最新文章

  1. 移动端实现文字轮播_使用原生JS实现移动端图片轮播效果(一)
  2. windows无法连接到打印机 操作失败,错误为0x00000002 解决方案
  3. 查找所有的(字符相同但顺序不同) Find All Anagrams in a String
  4. 三、Ubuntu16.04 安装Jira8.2.2(自带中文包)和破解
  5. ArrayList笔记
  6. Vue.Js添加自定义插件
  7. 顺序三元组 java_三元组顺序结构实现稀疏矩阵相加,行序优先(Java语言描述)
  8. flink sql client读取hive时卡住
  9. 二值化图像是什么?图像如何二值化?
  10. TinyFrame开篇:基于CodeFirst的ORM
  11. Oracle随机函数的取法
  12. Unity NGUI 制作URL超链接点击打开网页
  13. django drf 改变retrive的pk查询字段
  14. 机器学习(一元线性回归)
  15. 矩阵论与计算机英语论文,矩阵论翻译论文.pdf
  16. php博饼,妙趣横生庆中秋:厦门博饼
  17. 年度Sweb绩效考评表
  18. unity xml反序列化为数据类
  19. 老版本的linux内核中mtd test 出现 mtd_oobtest: error: verify failed at 0xXXXX 问题
  20. 164work 综合练习1

热门文章

  1. 读完《筚路蓝缕——世纪工程决策建设记述》
  2. C++常见的SML用法 ACM 必备
  3. qt-gui的GUI hint参数
  4. Redis学习之hgetall
  5. 100BASE-TX、100Base-FX等含义
  6. cmd怎么切换mysql目录_mysql 移除服务,并在cmd下切换目录
  7. 总结 所有的git错误 持续更新--------
  8. Altium Designer 如何批量修改过孔盖油
  9. java使用字符流读取文件
  10. 转:别把赌注压在明天:如何了解自己,提高自控力