echarts省市地图数据展示,echarts显示省地图区县

  echarts省市地图数据展示,echarts显示省地图区县

  本文主要介绍了Vue ECharts实现中国地图的绘制、拖动、缩放和各省自动轮播高亮显示。这篇文章给你做了非常详细的介绍,对你的学习或者工作有一定的参考价值。有需要的朋友可以参考一下。

  

目录

  实现效果完整代码详细注释要点汇总

  

实现效果

  

完整代码+详细注释

  模板

  div class=echart

  div class=内容

  div id=map_cn/div

  /div

  /div

  /模板

  脚本

  从“echarts”导入e charts;

  导入 e charts/map/js/China . js //这一步必须介绍

  导出默认值{

  data() {

  返回{

  //地图中的数据

  数据列表:[

  {

  名称:南海诸岛,

  价值:25,

  },

  {

  名称:北京,

  值:71,

  },

  {

  名称:天津,

  值:52,

  },

  {

  名称:上海,

  值:14,

  },

  {

  名称:重庆,

  价值:50,

  },

  {

  名称:河北,

  价值:20,

  },

  {

  名称:河南,

  值:30,

  },

  {

  名称:云南,

  价值:55,

  },

  {

  名称:辽宁,

  价值:50,

  },

  {

  名称:黑龙江,

  价值:40,

  },

  {

  姓名:湖南,

  值:6,

  },

  {

  姓名:安徽,

  值:96,

  },

  {

  名称:山东,

  价值:75,

  },

  {

  名称:新疆,

  值:45,

  },

  {

  名称:江苏,

  值:15,

  },

  {

  名称:浙江,

  值:8,

  },

  {

  名称:江西,

  值:78,

  },

  {

  名称:湖北,

  值:78,

  },

  {

  名称:广西,

  值:36,

  },

  {

  名称:甘肃,

  价值:25,

  },

  {

  名称:山西,

  价值:140,

  },

  {

  名称:内蒙古,

  价值:85,

  },

  {

  名称:陕西,

  价值:85,

  },

  {

  名称:吉林,

  值:74,

  },

  {

  名称:福建,

  价值:20,

  },

  {

  名称:贵州,

  值:74,

  },

  {

  名称:广东,

  值:47,

  },

  {

  名称:青海,

  值:45,

  },

  {

  名称:西藏,

  值:41,

  },

  {

  名称:四川,

  值:3,

  },

  {

  名称:宁夏,

  值:7,

  },

  {

  名称:海南,

  值:7,

  },

  {

  名称:台湾省,

  价值:200,

  },

  {

  名称:香港,

  值:2,

  },

  {

  名称:澳门,

  价值:5,

  }

  ],

  //指定图表的配置项和数据。

  选项:{

  //标题组件

  标题:{

  秀:真的,

  正文:“中国所有省份的旅游景点数量(评级)”,

  潜台词:“截至2021年12月”,

  左:“中间”,

  top: 16,

  },

  //提示框组件

  工具提示:{

  秀:真的,

  //触发器类型:数据项图形触发器

  触发器:“项目”,

  填充:10,

  borderWidth: 1,

  边框颜色: #409eff ,

  背景色: rgba(255,255,255,0.4),

  textStyle: {

  颜色: #000000 ,

  字体大小:12

  },

  //提示框内容格式器

  格式化程序:(e)={

  设数据=电子数据

  //此处将各等级景点数量表示为0-10内的随机整数

  数据。五=数学。random()* 10 0;

  数据。四=数学。random()* 10 0;

  数据。三=数学。random()* 10 0;

  数据。二=数学。random()* 10 0;

  数据。一=数学。random()* 10 0;

  //景点数量-五个等级之和

  数据。数字=数据。五个数据。四个数据。三个数据。两个数据。一;

  //字符串模板

  let context=`

  差异

  p style= line-height:30px;font-weight: 600${data.name}/p

  磷化氢景点数量:/spanspan${data.number}处/span/p

  pspan5A级:/spanspan${data.five}处/span/p

  pspan4A级:/spanspan${data.four}处/span/p

  pspan3A级:/spanspan${data.three}处/span/p

  pspan2A级:/spanspan${data.two}处/span/p

  pspan1A级:/spanspan${data.one}处/span/p

  /div

  `;

  返回上下文;

  }

  },

  //视觉映射组件(左下角)

  视觉图:{

  秀:真的,

  左:26,

  底部:40,

  显示标签:没错,

  //是否显示拖拽用的手柄(手柄能拖拽调整选中范围)

  可计算:假,

  //拖拽时,是否实时更新

  实时:真,

  对齐:"左",

  //各颜色代表的区域

  件数:[

  {

  gte: 100,

  标签:"100",

  颜色: #FDB669

  },

  {

  gte: 50,

  lt: 99,

  标签:"50 - 99",

  颜色: #FECA7B

  },

  {

  gte: 30,

  lt: 49,

  标签:"30 - 49",

  颜色: #FEE191

  },

  {

  gte: 10,

  lt: 29,

  标签:"10 - 29",

  颜色: #FFF0A8

  },

  {

  lt: 9,

  标签:"10",

  颜色: #FFFFBF

  }

  ]

  },

  //地理坐标系组件

  地理位置:{

  //使用注册地图注册的地图名称

  地图:"中国",

  //是否开启鼠标缩放和平移漫游

  漫游:没错,

  //当前视角缩放比例

  缩放:1,

  //滚轮缩放的极限控制

  比例限制:{

  最小值:1,//最小一倍

  最大值:3 //最大3倍

  },

  //地图组件离容器的距离

  top: 90,

  左:"中间",

  //图形上的文本标签

  标签:{

  秀:真的,

  字体大小:"11"

  },

  //地图区域的多边形图形样式

  项目样式:{

  borderColor: rgba(0,0,0,0.2),

  阴影颜色: rgba(0,0,0,0.2),

  暗影模糊:10,

  //高亮状态(鼠标移入后)的多边形和标签样式

  重点:{

  areaColor: #f98333 ,

  shadowOffsetX: 2,

  shadowOffsetY: 2,

  },

  }

  },

  系列:[

  {

  类型:"地图",

  漫游:没错,

  地理索引:0,

  数据: ,

  标签:{

  秀:真的,

  }

  }

  ]

  },

  };

  },

  方法:{

  //定义方法绘制地图绘制中国地图

  draw_map() {

  让我的图表=这个图表。init(文档。getelementbyid( map _ cn );

  //高亮轮播展示

  var小时指数=0;

  var循环时间=空

  //setInterval()可在每隔指定的毫秒数循环调用函数或表达式,直到间隙把它清除

  //使用设置间隔方法后,必须使用箭头函数而不能写功能,否则后续在该方法中无法调用数据中的数据

  //carousel time=setInterval(function(){//错误写法

  carouselTime=setInterval(()={

  //调度操作电子图表的API:触发图表行为

  myChart.dispatchAction({

  类型:"淡化",//淡化取消高亮指定的数据图形

  seriesIndex: 0

  });

  myChart.dispatchAction({

  键入:"突出显示",//突出显示高亮指定的数据图形

  seriesIndex: 0,//系列指数

  dataIndex: hourIndex //数据指数

  });

  myChart.dispatchAction({

  类型:“showTip”,//showTip显示提示框

  seriesIndex: 0,

  数据索引:小时索引

  });

  小时指数;

  //当循环到数组当中的最后一条数据后,重新进行循环

  如果(小时指数这个。数据表。长度){

  小时指数=0;

  }

  }, 3000);

  //鼠标移入组件时停止轮播

  myChart.on(mousemove ,(e)={

  清除间隔(转盘时间);//清除循环

  myChart.dispatchAction({

  类型:淡化,

  seriesIndex: 0,

  });

  myChart.dispatchAction({

  类型:突出显示,

  seriesIndex: 0,

  数据索引:e。数据索引

  });

  myChart.dispatchAction({

  键入:显示提示,

  seriesIndex: 0,

  数据索引:e。数据索引

  });

  });

  //鼠标移出组件时恢复轮播

  myChart.on(mouseout ,()={

  carouselTime=setInterval(()={

  myChart.dispatchAction({

  类型:淡化,

  seriesIndex: 0,

  });

  myChart.dispatchAction({

  类型:突出显示,

  seriesIndex: 0,

  数据索引:小时索引

  });

  myChart.dispatchAction({

  键入:显示提示,

  seriesIndex: 0,

  数据索引:小时索引

  });

  小时指数;

  如果(小时指数这个。数据表。长度){

  小时指数=0;

  }

  }, 3000);

  });

  //显示地图

  我的图表。setoption(这个。选项);

  },

  //修改统计图配制

  setEchartOption() {

  this.option.series[0].data=this.dataList

  },

  },

  已创建(){

  这个。setechartoption();

  },

  已安装(){

  这个. nextTick(()={

  这个。draw _ map();

  });

  }

  };

  /脚本

  样式范围语言=少。echart {

  宽度:100%;内容{

  宽度:95.8%;

  高度:100像素

  边距:自动;

  #map_cn {

  宽度:65%;

  身高:7雷姆;

  背景色:# eaeaea

  边距:自动;

  }

  }

  }

  /风格

  

要点小结

  1.setTimeout()与setInterval()的区别

  setTimeout()方法用于在指定的毫秒数后调用函数或计算表达式,只执行一次;

  setInterval()可在每隔指定的毫秒数循环调用函数或表达式,直到间隙把它清除,多次调用。

  2.使用setInterval()方法后,必须使用箭头函数形式而不能用功能

  如果使用功能,后续在该方法中调用数据中的数据如控制台。日志(这个。数据表。长度);会报如下错误(其实就是找不到该数据);

  这是因为fun()、( function(){.})() 或回调函数中的这默认都指向窗口,而窗户中是找不到你所要用的数据中的数据的,我们应该改为箭头函数形式。

  以上是Vue ECharts实现中国地图绘制和各省自动轮播高亮的详细内容。更多关于Vue ECharts中国地图绘制的信息,请关注我们的其他相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: