当前位置:首页 » 《随便一记》 » 正文

vue项目中使用echarts和china.js实现中国地图

10 人参与  2024年04月01日 10:31  分类 : 《随便一记》  评论

点击全文阅读


在echarts最新的5.4.0版本中,已不能直接引用china.js来绘制中国地图,需要我们自己下载china.js包

在网上查找资料,大部分是在index.html文件中直接引入echarts和china.js文件,但我使用这种方法在vue项目中引入失败,目前尝试可行的方法是把包下载到node_modules的echarts包里面,文件和方法具体如下:

链接:https://pan.baidu.com/s/10Bmqabcb60n_ed1zEB0hJQ?pwd=tper 提取码:tper

首先npm下载好echarts,下载上面的map文件,把它放到node_modules的echarts文件夹下

在main.js中全局引入echarts,挂载在$echarts上

import * as echarts from 'echarts'Vue.prototype.$echarts = echarts;

在需要使用地图的页面引入china.js

import 'echarts/map/js/china.js'

在页面中的代码如下:

<div class="chinaMap" ref="chinaMap" style="width: 500px;height: 300px;"></div>
export default {  mounted() {    this.initCharts()  },  methods: {     initCharts() {      let mapcharts = this.$echarts.init(this.$refs.chinaMap);       //窗口尺寸改变      window.addEventListener("resize",function(){        mapcharts.resize();      })      // 绘制图表      mapcharts.setOption({        series: [{           type: 'map',           map: 'china',           layoutCenter: ['40%', '50%'], // 地图布局中心点           layoutSize: 270,            label: {            show: true,            color: '#ffffff',            fontSize: 10,           },           itemStyle: {               areaColor: '#eee',               borderColor: '#24dafe',           },           roam: true,           zoom: 1.2,           emphasis: {            label: {                color: '#fff',                fontSize: 12,                fontWeight:'bold'            },            itemStyle: {                areaColor: 'none',                borderColor: '#77ebff',                borderWidth: 2            }           },           data: [           { name: '北京', value: 17 },           { name: '天津', value: 12 },           { name: '上海', value: 15 },           { name: '重庆', value: 15 },           { name: '河北', value: 15 },           { name: '河南', value: 15 },           { name: '云南', value: 5 },           { name: '辽宁', value: 15 },           { name: '黑龙江', value: 15 },           { name: '湖南', value: 2 },           { name: '安徽', value: 15 },           { name: '山东', value: 15 },           { name: '新疆', value: 3 },           { name: '江苏', value: 3 },           { name: '浙江', value: 9 },           { name: '江西', value: 15 },           { name: '湖北', value: 4 },           { name: '广西', value: 4 },           { name: '甘肃', value: 10 },           { name: '山西', value: 15 },           { name: '内蒙古', value: 15 },           { name: '陕西', value: 9 },           { name: '吉林', value: 8 },           { name: '福建', value: 9 },           { name: '贵州', value: 9 },           { name: '广东', value: 8 },           { name: '青海', value: 3 },           { name: '西藏', value: 9 },           { name: '四川', value: 0 },           { name: '宁夏', value: 15 },           { name: '海南', value: 7 },           { name: '台湾', value: 4 },           { name: '香港', value: 4 },           { name: '澳门', value: 3 }           ]        }],        visualMap: [{          type: 'piecewise',          show: true,          pieces: [              { min: 0, max:4 },              { min: 5, max: 9 },              { min: 10, max: 14},              { min: 14},          ],          textStyle: {             color: '#828994'          },          itemWidth: 64, // 每个图元的宽度          itemHeight:12,          top: "top",                                         right: "0",          inRange: {              borderRadius: 4,              color: [                   '#84bbff',                  '#70b4ff',                  '#61a7ff',                  '#4d90f2',              ]          },        }],        tooltip: {           trigger: 'item',  //数据项图形触发          backgroundColor: "#fff",            borderWidth: 0,              formatter: '地区:{b}<br/>数据:{c}'        },        toolbox: {          show: true,          orient: 'vertical',          left: 'right',          bottom: '0',          feature: {              restore: {},              saveAsImage: {}          }        },      });     }   }}

最后实现的效果如图:


点击全文阅读


本文链接:http://zhangshiyu.com/post/88815.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1