赞
踩
1.引入map.json(示例地图为浙江省)
import mapData from ‘…/…/assets/map.json’
json文件可到此处下载
2.
getMap() { //获取地图 let char = this.$echarts.init(document.querySelector('#map')) let geoCoordMap = {//地图上散点坐标 杭州市: [119.300576, 29.999999], 宁波市: [121.549792, 29.868388], 温州市: [120.672111, 28.199575], 嘉兴市: [120.750865, 30.762653], 湖州市: [119.902398, 30.867198], 绍兴市: [120.582112, 29.997117], 金华市: [119.949506, 29.289644], 衢州市: [118.87263, 29.059999], 舟山市: [122.106863, 30.016028], 台州市: [121.070599, 28.961378], 丽水市: [119.440000, 28.359993], } this.$echarts.registerMap('zhejiang', mapData)//注册地图 let convertData = function (data) { let res = [] for (let i = 0; i < data.length; i++) { let geoCoord = geoCoordMap[data[i].name] if (geoCoord) { res.push({ name: data[i].name, value: geoCoord.concat(data[i].value), visualMap: false, }) } } return res } char.setOption({ grid: { left: '0%', top: '0%', right: '19', bottom: '0%', containLabel: true, }, tooltip: { trigger: 'item', formatter: function (params) {//加了这个点击图标的时候就不会出现图标的坐标,而是和点击地图一样的内容 if(typeof(params.value)[2] == "undefined"){ return params.name + ' : ' + params.value +'(台)'; }else{ return params.name + ' : ' + params.value[2] +'(台)'; } } }, geo: { map: 'zhejiang',//这个名字要与自己注册的名字相对应 roam: false,//false就无法将上层地图拖拽与缩放 // 定义样式 itemStyle: { // 普通状态下的样式 borderWidth: 5, borderColor: '#fff', normal: { areaColor: '#ABCDEF99', shadowBlur: 10, shadowOffsetX: 0, shadowColor: '#777', // borderWidth: 50, borderColor: '#fff', }, // 高亮状态下的样式,默认黄色 emphasis: { // areaColor: '#2a333d' }, }, label: {//地图上字的颜色 normal: { show: true, textStyle: { color: '#fff', fontSize: 14, }, }, emphasis: { textStyle: { color: '#fff', }, }, }, }, dataRange: { // 图例 x: 'left', y: 'bottom', splitList: [ { start: 100 },//>=100 { end: 100 },//80-100 { end: 80 },//60-80 { end: 60 },//40-60 { end: 40 },//20-40 { end: 20 },//<20 ], color: ['#ff5722', '#ff693a', '#ff7c53', '#ff9675', '#ffb29a'],//图例的颜色 }, series: [ { name: 'pm2.5', // series名称 type: 'scatter', // series图表类型 散点图 symbol: 'image://'+ require('./img/water.png'),//这里散点图标为自定义的图片 默认‘circle’, ‘rect’, ‘roundRect’, ‘triangle’, ‘diamond’, ‘pin’, ‘arrow’ symbolSize: '12', coordinateSystem: 'geo', // series坐标系类型 data: convertData(data), // series数据内容 // 控制显示文本 // series样式 itemStyle: { normal: { color: '#fff', background: '#fff', }, }, markPoint: { itemStyle: { color: '#fff', background: '#fff', }, }, }, {//这个一定要加 如果不加 那么图例的颜色对应的是散点图的颜色 type: 'map', mapType: 'zhejiang', roam: false, itemStyle: { normal: { label: { show: true, textStyle: { color: '#fff', }, }, borderColor: '#fff', // 绘制的每一个轮廓的边框颜色 borderWidth: 2, }, emphasis: { label: { show: true } }, }, data: data, }, ], }) },
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。