vue2中使用echarts与echarts-gl 实现3D地区图

效果图:(移动上去也会有效果的那种哦)


第一步:vue中安装echarts和echarts-gl

npm install echarts

npm install echarts-gl

或是

yarn add echarts

yarn add echarts-gl


package.json

也可以指定版本命令 加个@后面跟版本号即可

yarn add echarts-gl@2.0.9

成功之后可以在package.json中检查是否安装成功(如上图)

第二步:在vue文件中引入

引入位置:我没有在main.js中全局引用,而是哪个页面用到就引入哪里,

在引入所需的json文件




代码:

import * as echarts from 'echarts'

import 'echarts-gl';

import geoJson from "../src/assets/anhui.json";

第三步:实现具体代码(完整的)

注意:我没有封装起来(你也可以先直接在页面中实现,然后在考虑封装需求)

1、有一个装饼图的容器(可以都复制走 为了成功实现效果)

 <div class="map">

    <div class="map-container">

      <div class="title">地图</div>

      <div class="map-chart" id="mapEchart"></div>

    </div>

  </div>

2、对应样式

.map {

  display: flex;

  justify-content: center;

  width: 100%;

  height: 100vh;

}

.map-container {

  width: 100%;

  height: 100%;

  background: #dfebff;

  position: relative;

  .title {

    font-size: 25px;

    font-weight: 600;

    border-bottom: 1px solid #8b8b8b;

    background: #AEDCFF;

  }

}

.map-chart {

  position: absolute;

  top: 0;

  left: 0;

  z-index: 5;

  height: 100%;

  width: 100%;

}

3、3d图数据

 name: "Charts-gl",

  data() {

    return {};

  },

 4、钩子中调用mouted

mounted() {

    this.chartMap();

  },

  beforeDestroy() {

    // 防止内存泄露

    if (!this.myChart) {

      return;

    }

    this.myChart.dispose();

    this.myChart = null;

  },

  5、具体方法methods(为了你也方便修改样式 我注释尽量给到)

methods: {

    chartMap() {

      var myChart = echarts.init(document.getElementById("mapEchart"));

      echarts.registerMap("anhui", geoJson);

      myChart.hideLoading();

      // 图表配置项

      let option = {

        geo3D: {

          map: "anhui",

          roam: true,

          itemStyle: {

            color: "#11EEEE",

            opacity: 0.8,

            borderWidth: 0.4,

            borderColor: "#000",

            // areaColor: '#fff'

          },

          emphasis: {

            disabled: true, //是否可以被选中

            label: {

              //移入时的高亮文本

              show: true,

              color: "#000", //显示字体颜色变淡

              fontSize: 18, //显示字体变大

            },

            itemStyle: {

              color: "#ff7aff", //显示移入的区块变粉色

            },

          },

          label: {

            show: true,

            position: "top",

            color: "#111", //地图初始化区域字体颜色

            fontSize: 14,

            lineHeight: 16,

            // textStyle: {

            //   color: "#fff", //地图初始化区域字体颜色

            //   fontSize: 12,

            //   opacity: 1,

            //   backgroundColor: "rgba(0,23,11,0)",

            // },

          },

          shading: "lambert",

          light: {

            //光照阴影

            main: {

              color: "#fff", //光照颜色

              intensity: 1, //光照强度

              //shadowQuality: 'high', //阴影亮度

              shadow: true, //是否显示阴影

              shadowQuality: "medium", //阴影质量 ultra //阴影亮度

              alpha: 55,

              beta: 10,

            },

            ambient: {

              intensity: 0.9,

            },

          },

        },

      };

      myChart.setOption(option);

    },

  },

第四:我想说一下注意事项哈

1、因为这些代码比较复杂(我看不懂 只是尽量把配置样式相关给了一下注解 希望有帮助)

2、一开始只想实现效果的(不要先封装成组件 很可能会失败 先在要实现的页面写)

3、gl 3d相关的配置可以在官方文档上查看理解 (下面附赠链接)

https://echarts.apache.org/zh/option-gl.html#globe

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 160,227评论 4 364
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,755评论 1 298
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,899评论 0 244
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,257评论 0 213
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,617评论 3 288
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,757评论 1 221
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,982评论 2 315
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,715评论 0 204
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,454评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,666评论 2 249
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,148评论 1 261
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,512评论 3 258
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,156评论 3 238
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,112评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,896评论 0 198
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,809评论 2 279
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,691评论 2 272

推荐阅读更多精彩内容