vue-echarts地图显示

vue-echarts地图显示问题

1、向你的vue工程里面引入echarts(4.9以下的版本会带上全国地区的json!!5.多版本的没有哦)

命令行:

npm install echarts --save 或者 yarn add charts

执行完成后看看nodo_modules里面是不是有echarts目录,并找到你需要的地区的json:

2、新建vue文件:

```

<template>

  <div class="content row-flex-start" style="min-width:1500px;">

    <!-- <div  class="content row-flex-start" style="min-width:1500px"> -->

    333

    <div class="left_map" id="left_map"  @click="showChinaMap">显示</div>

    <!-- <div class="right_opetate row-center" id="right_opetate">

    </div> -->

  </div>

</template>

<script>

import echarts from 'echarts'

import china from '../../node_modules/echarts/map/json/china.json'

import axios from 'axios'

echarts.registerMap('china', china)

  var provinces = ['shanghai', 'hebei', 'shanxi', 'neimenggu', 'liaoning', 'jilin', 'heilongjiang', 'jiangsu', 'zhejiang', 'anhui', 'fujian', 'jiangxi', 'shandong', 'henan', 'hubei', 'hunan', 'guangdong', 'guangxi', 'hainan', 'sichuan', 'guizhou', 'yunnan', 'xizang', 'shanxi1', 'gansu', 'qinghai', 'ningxia', 'xinjiang', 'beijing', 'tianjin', 'chongqing', 'xianggang', 'aomen', 'taiwan']

  var provincesText = ['上海', '河北', '山西', '内蒙古', '辽宁', '吉林', '黑龙江', '江苏', '浙江', '安徽', '福建', '江西', '山东', '河南', '湖北', '湖南', '广东', '广西', '海南', '四川', '贵州', '云南', '西藏', '陕西', '甘肃', '青海', '宁夏', '新疆', '北京', '天津', '重庆', '香港', '澳门', '台湾']

export default {

  name:'ShowGraph',

  created () {

  },

  mounted () {

    this.$nextTick(() => {

      this.initMap()

    })

  },

  data () {

    return {

      map: {}

    }

  },

  props: {},

  methods: {

    getMapOpt (place) {

      const option = {

      backgroundColor: '#F3F3F3', //地图背景颜色

      //以下是地图标题,我在此处设空,需要的可以自己加上

      title: {

          text: '',

          subtext: '',

          left: 'center'

        },

        //以下是地图右侧“还原”“下载”工具框

        toolbox: {

            show: true,

            orient: 'vertical',

            left: 'right',

            top: 'center',

            feature: {

                restore: {},

                saveAsImage: {}

            }

        },

      geo: {

        map: place || 'china',

        label: {

            emphasis: {

                show: false

            },

            // 不需要显示地名可直接删除normal此项

            normal: {

              show: true, // 是否显示对应地名

              textStyle: {

                  color: 'rgba(0,0,0)'

              }

            }

        },

        roam: true,

        itemStyle: {

            normal: {

                areaColor: '#6FA7CE', //地图颜色

                borderColor: '#fff' //地图边线颜色

            },

            emphasis: {

                areaColor: '#B7DFED' //鼠标移入颜色

            }

        }

      }

      }

      return option

    },

    // 显示中国地图

    showChinaMap () {

      console.log("showGraph-----")

      const option = this.getMapOpt()

        this.map.setOption(option, true)

    },

    // 显示各省地图,这里使用axios请求本地文件,provice文件夹存在的位置为public/province(旧版本是static)

    getProvinceMapOpt (provinceAlphabet) {

      axios.get('province/' + provinceAlphabet + '.json').then((s) => {

        echarts.registerMap(provinceAlphabet, s.data)

        const option = this.getMapOpt(provinceAlphabet)

        this.map.setOption(option, true)

      })

    },

    initMap () {

      var dom = document.getElementById('left_map')

      this.map = echarts.init(dom)

      const option = this.getMapOpt()

      if (option && typeof option === 'object') {

        this.map.setOption(option, true)

      }

      this.map.on('click', (param) => {

        // console.log(param)

        event.stopPropagation()// 阻止冒泡

        // 找到省份名

        const provinceIndex = provincesText.findIndex(x => {

          return param.name === x

        })

        //在这里判断provincesText中是否包含点击的省份名,有则渲染省级地图,无则无处理(需要可从此获得)

        if (provinceIndex === -1) return

        const provinceAlphabet = provinces[provinceIndex]

        // 重新渲染各省份地图

        this.getProvinceMapOpt(provinceAlphabet)

      })

    }

  },

  computed: {}

}

</script>

<style>

.left_map {

  width: 1200px;

  height: 1000px;

  border: #404a59 1px solid;

  /* 此处设置地图大小 */

  /* height: 100%;  */

  /* 注意,如果父组件没有设置高度,此处可设置为px单位的高度,否则塌陷 */

}

.right_opetate {

  flex: 1;

  height: 100%;

  background: #404a59

}

</style>

```

3、在目的组件里面引用新建的地图组件

4、跑起来(还有什么没装的都装好,如axios)

5、what?怎么出不来?!!!

重点来了,针对地图出不了现象,请在main.js里面引入echarts的js


main.js


也就是:

```

import "echarts/map/js/china"

import "echarts/map/js/china-contour"

import "echarts/map/js/world"

import "echarts/extension-src/bmap/bmap"

```

6、最后,再次跑起来,出来了!


需要其他省份地图的根据引用的json不同而修改代码哈~~~

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

推荐阅读更多精彩内容