react项目引入echarts中国地图

最近做的react项目需要如下的中国地图


image.png

最先想到的当然是echarts,下面是引入的具体步骤

1. 首先要准备两个文件

一个是echarts文件,一个是china地图文件
echarts.js官方有链接,我这边是使用的cdn版本 https://cdn.bootcss.com/echarts/4.1.0/echarts.min.js
china.js官方已不再提供支持

image.png

但我还是找了一个线上版本 http://gallery.echartsjs.com/dep/echarts/map/js/china.js
当然我网盘里也有 链接: https://pan.baidu.com/s/115Sy9JzSJsg3L4ltUaiqJA 密码: vs6h,可供大家自行下载

2. 把这两个文件插入js代码里

<script src="https://cdn.bootcss.com/echarts/4.1.0/echarts.min.js"></script>
<script src="http://gallery.echartsjs.com/dep/echarts/map/js/china.js"></script>

这里有一点需要注意,echarts.min.js必须先引入,不然会报错。

3. 把echarts这个全局变量引入到模块中,具体步骤如下

先在webpack的配置文件webpackrc里添加一行配置

externals: {
    AMap: 'AMap',
    AMapUI: 'AMapUI',
    ECharts: 'echarts',
  },

(引入高德地图或百度地图也是同理)
接着在要使用的文件里就可以引用到了

import ECharts from 'ECharts';

4. 地图初始化

因为我做的是react项目,以下全是针对react项目的代码
首先创建一个节点,设置ref属性的回调函数,获取ref引用组件对应的dom节点

<div style={{ width: '400px', height: '400px' }} ref={this.setMapElement} />
setMapElement = n => {
    this.mapNode = n;
  };

然后在componentDidMount生命周期方法里初始化中国地图

componentDidMount() {
    this.createMap(this.mapNode);
  }
createMap = element => {
    const myChart = ECharts.init(element);
    const option = {
      tooltip: {
        trigger: 'item',
      },
      dataRange: {
        orient: 'horizontal',
        min: 0,
        max: 55000,
        text: ['高', '低'], // 文本,默认为数值文本
        splitNumber: 0,
        color: ['#2d70d6', '#80b5e9', '#e6feff'],
      },
      series: [
        {
          name: '2011全国GDP分布',
          type: 'map',
          mapType: 'china',
          mapLocation: {
            x: 'left',
          },
          // selectedMode: 'multiple',
          itemStyle: {
            normal: { label: { show: true, color: '#333' }, borderWidth: 0 },
            // emphasis: { label: { show: true } },
            // borderWidth: 0,
            // borderColor: '#eee',
          },
          data: [
            { name: '西藏', value: 605.83 },
            { name: '青海', value: 1670.44 },
            { name: '宁夏', value: 2102.21 },
            { name: '海南', value: 2522.66 },
            { name: '甘肃', value: 5020.37 },
            { name: '贵州', value: 5701.84 },
            { name: '新疆', value: 6610.05 },
            { name: '云南', value: 8893.12 },
            { name: '重庆', value: 10011.37 },
            { name: '吉林', value: 10568.83 },
            { name: '山西', value: 11237.55 },
            { name: '天津', value: 11307.28 },
            { name: '江西', value: 11702.82 },
            { name: '广西', value: 11720.87 },
            { name: '陕西', value: 12512.3 },
            { name: '黑龙江', value: 12582 },
            { name: '内蒙古', value: 14359.88 },
            { name: '安徽', value: 15300.65 },
            { name: '北京', value: 16251.93, selected: true },
            { name: '福建', value: 17560.18 },
            { name: '上海', value: 19195.69, selected: true },
            { name: '湖北', value: 19632.26 },
            { name: '湖南', value: 19669.56 },
            { name: '四川', value: 21026.68 },
            { name: '辽宁', value: 22226.7 },
            { name: '河北', value: 24515.76 },
            { name: '河南', value: 26931.03 },
            { name: '浙江', value: 32318.85 },
            { name: '山东', value: 45361.85 },
            { name: '江苏', value: 49110.27 },
            { name: '广东', value: 53210.28, selected: true },
          ],
        },
      ],
      animation: false,
    };
    myChart.setOption(option, true);
  };

我这里只是简单的例子,echarts具体的更复杂的配置请参照 http://echarts.baidu.com/option.html#series-map.type

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

推荐阅读更多精彩内容