中国地图

山西地图

天津地图(实现3D立体效果)

地图赋值
| initMapChart() { |
| let mapData = [{ |
| name: '北京', |
| value: this.randomData() |
| }, { |
| name: '天津', |
| value: this.randomData() |
| }, { |
| name: '上海', |
| value: this.randomData() |
| }, { |
| name: '重庆', |
| value: this.randomData() |
| }, { |
| name: '河北', |
| value: this.randomData() |
| }, { |
| name: '河南', |
| value: this.randomData() |
| }, { |
| name: '云南', |
| value: this.randomData() |
| }, { |
| name: '辽宁', |
| value: this.randomData() |
| }, { |
| name: '黑龙江', |
| value: this.randomData() |
| }, { |
| name: '湖南', |
| value: this.randomData() |
| }, { |
| name: '安徽', |
| value: this.randomData() |
| }, { |
| name: '山东', |
| value: this.randomData() |
| }, { |
| name: '新疆', |
| value: this.randomData() |
| }, { |
| name: '江苏', |
| value: this.randomData() |
| }, { |
| name: '浙江', |
| value: this.randomData() |
| }, { |
| name: '江西', |
| value: this.randomData() |
| }, { |
| name: '湖北', |
| value: this.randomData() |
| }, { |
| name: '广西', |
| value: this.randomData() |
| }, { |
| name: '甘肃', |
| value: this.randomData() |
| }, { |
| name: '山西', |
| value: this.randomData() |
| }, { |
| name: '内蒙古', |
| value: this.randomData() |
| }, { |
| name: '陕西', |
| value: this.randomData() |
| }, { |
| name: '吉林', |
| value: this.randomData() |
| }, { |
| name: '福建', |
| value: this.randomData() |
| }, { |
| name: '贵州', |
| value: this.randomData() |
| }, { |
| name: '广东', |
| value: this.randomData() |
| }, { |
| name: '青海', |
| value: this.randomData() |
| }, { |
| name: '西藏', |
| value: this.randomData() |
| }, { |
| name: '四川', |
| value: this.randomData() |
| }, { |
| name: '宁夏', |
| value: this.randomData() |
| }, { |
| name: '海南', |
| value: this.randomData() |
| }, { |
| name: '台湾', |
| value: this.randomData() |
| }, { |
| name: '香港', |
| value: this.randomData() |
| }, { |
| name: '澳门', |
| value: this.randomData() |
| }, { |
| name: '南海诸岛', |
| value: this.randomData() |
| }]; |
| basicMapChart(this.$Echarts.init(document.getElementById('map1')), mapData); |
| |
| let provinceData1 = [{ |
| name: '大同市', |
| value: this.randomData() |
| }, { |
| name: '朔州市', |
| value: this.randomData() |
| }, { |
| name: '忻州市', |
| value: this.randomData() |
| }, { |
| name: '吕梁市', |
| value: this.randomData() |
| }, { |
| name: '太原市', |
| value: this.randomData() |
| }, { |
| name: '阳泉市', |
| value: this.randomData() |
| }, { |
| name: '晋中市', |
| value: this.randomData() |
| }, { |
| name: '临汾市', |
| value: this.randomData() |
| }, { |
| name: '长治市', |
| value: this.randomData() |
| }, { |
| name: '晋城市', |
| value: this.randomData() |
| }, { |
| name: '运城市', |
| value: this.randomData() |
| }]; |
| sxMapChart(this.$Echarts.init(document.getElementById('map2')), provinceData1); |
| |
| let provinceData2 = [{ |
| name: '蓟州区', |
| value: this.randomData() |
| }, { |
| name: '宝坻区', |
| value: this.randomData() |
| }, { |
| name: '武清区', |
| value: this.randomData() |
| }, { |
| name: '宁河区', |
| value: this.randomData() |
| }, { |
| name: '北辰区', |
| value: this.randomData() |
| }, { |
| name: '西青区', |
| value: this.randomData() |
| }, { |
| name: '东丽区', |
| value: this.randomData() |
| }, { |
| name: '滨海新区', |
| value: this.randomData() |
| }, { |
| name: '静海区', |
| value: this.randomData() |
| }, { |
| name: '津南区', |
| value: this.randomData() |
| }, { |
| name: '河北区', |
| value: this.randomData() |
| }, { |
| name: '河东区', |
| value: this.randomData() |
| }, { |
| name: '河西区', |
| value: this.randomData() |
| }, { |
| name: '南开区', |
| value: this.randomData() |
| }, { |
| name: '和平区', |
| value: this.randomData() |
| }, { |
| name: '红桥区', |
| value: this.randomData() |
| }]; |
| this.mapChart = this.$Echarts.init(document.getElementById('map3')); |
| tjMapChart(this.mapChart, provinceData2); |
| |
| let shadowChart = this.$Echarts.init(document.getElementById('shadowMap')); |
| shadowMapChart(shadowChart);// 地图阴影效果 |
| }, |
| randomData() { |
| return Math.round(Math.random() * 100); |
| } |
复制
| import 'echarts/map/js/china'; |
| import 'echarts/map/js/province/shanxi'; |
| import 'echarts/map/js/province/tianjin'; |
| let colorArr = ['#EFED1E', '#01F408', '#EE3A3B', '#4ADBEC', '#0FEEFB']; |
| |
| |
| |
| |
| |
| |
| export function basicMapChart(chart, chartData) { |
| let option = { |
| tooltip: { |
| formatter: function(e) { |
| var name = e.name ? e.name : '获取中'; |
| var value = e.value ? e.value : '暂无数据' |
| return name + ":" + value; |
| } |
| }, |
| visualMap: { |
| min: 0, |
| max: 100, |
| left: '20%', |
| bottom: 20, |
| text: ['高', '低'], |
| calculable: true, |
| textStyle: { |
| color: '#fff' |
| }, |
| inRange: { |
| color: ['rgba(77,152,225,.7)', 'rgba(6,65,160,.9)'] |
| } |
| }, |
| geo: { |
| map: 'china', |
| roam: false, |
| zoom: 1.1, |
| label: { |
| emphasis: { |
| show: false |
| } |
| }, |
| itemStyle: { |
| borderColor: 'transparent', |
| areaColor: 'transparent' |
| } |
| }, |
| series: [{ |
| type: 'map', |
| map: 'china', |
| zoom: 1.1, |
| itemStyle: { |
| borderWidth: 1, |
| borderColor: 'rgba(255,255,255,.3)', |
| emphasis: { |
| borderColor: '#40C9EA', |
| shadowColor: 'rgba(3,221,255,0.4)', |
| shadowBlur: 15, |
| label: { |
| color: '#fff' |
| }, |
| areaColor: { |
| x: 0, |
| y: 0, |
| x2: 0, |
| y2: 1, |
| colorStops: [{ |
| offset: 0, |
| color: '#0F58BF' |
| }, { |
| offset: 1, |
| color: '#084095' |
| }], |
| }, |
| } |
| }, |
| data: chartData |
| }] |
| }; |
| chart.setOption(option); |
| } |
| |
| |
| |
| |
| |
| |
| |
| export function sxMapChart(chart, chartData, flag) { |
| let option = { |
| tooltip: { |
| formatter: function(e) { |
| var name = e.name ? e.name : '获取中'; |
| var value = e.value ? e.value : '暂无数据' |
| return name + ":" + value; |
| } |
| }, |
| visualMap: { |
| show: false, |
| min: 0, |
| max: 100, |
| inRange: { |
| color: ['#0388FF', '#053859'] |
| } |
| }, |
| geo: { |
| map: '山西', |
| roam: false, |
| zoom: 1.2, |
| aspectScale: 0.9, |
| label: { |
| emphasis: { |
| show: false |
| } |
| }, |
| itemStyle: { |
| borderColor: 'transparent', |
| areaColor: 'transparent' |
| } |
| }, |
| series: [{ |
| type: 'map', |
| map: '山西', |
| zoom: 1.2, |
| aspectScale: 0.9, |
| label: { |
| show: true, |
| color: '#fff', |
| }, |
| itemStyle: { |
| borderWidth: 2, |
| borderColor: '#05B8F8', |
| emphasis: { |
| borderColor: '#5EBADB', |
| label: { |
| color: '#fff' |
| }, |
| areaColor: '#B4917F' |
| } |
| }, |
| data: chartData |
| }, { |
| type: 'effectScatter', |
| coordinateSystem: 'geo', |
| showEffectOn: 'render', |
| zlevel: 2, |
| rippleEffect: { |
| period: 15, |
| scale: 4, |
| brushType: 'fill' |
| }, |
| hoverAnimation: true, |
| label: { |
| normal: { |
| show: false |
| }, |
| }, |
| itemStyle: { |
| normal: { |
| color: (param) => { |
| return colorArr[param.dataIndex]; |
| }, |
| shadowBlur: 10, |
| shadowColor: '#333' |
| } |
| }, |
| symbolSize: 12, |
| data: [{ |
| name: 'a', |
| visualMap: false, |
| value: [112.42227451275963, 39.47420453623572], |
| }, { |
| name: 'b', |
| visualMap: false, |
| value: [111.106869792807, 38.43977743019218] |
| }, { |
| name: 'c', |
| visualMap: false, |
| value: [110.82052318710302, 38.02144293877752] |
| }, { |
| name: 'd', |
| visualMap: false, |
| value: [111.035283141381, 37.45859289578324] |
| }, { |
| name: 'e', |
| visualMap: false, |
| value: [112.46701616990087, 37.91495779550833] |
| }] |
| }] |
| }; |
| chart.setOption(option); |
| |
| chart.on('click', function (param) { |
| |
| console.log(chart.convertFromPixel('geo', [param.event.offsetX, param.event.offsetY])); |
| }); |
| } |
| |
| |
| |
| |
| |
| |
| |
| export function tjMapChart(chart, chartData) { |
| let option = { |
| tooltip: { |
| formatter: function(e) { |
| var name = e.name ? e.name : '获取中'; |
| var value = e.value ? e.value : '暂无数据' |
| return name + ":" + value; |
| } |
| }, |
| geo: { |
| map: '天津', |
| roam: false, |
| aspectScale: 0.85, |
| layoutCenter: ["46%", "52%"], |
| layoutSize: '80.5%', |
| label: { |
| emphasis: { |
| show: false |
| } |
| }, |
| itemStyle: { |
| borderWidth: 4, |
| shadowColor: 'red', |
| borderColor: '#00f6fb', |
| areaColor: 'transparent', |
| } |
| }, |
| series: [{ |
| type: 'map', |
| map: '天津', |
| roam: false, |
| aspectScale: 0.85, |
| layoutCenter: ["46%", "52%"], |
| layoutSize: '80%', |
| label: { |
| show: true, |
| color: '#fff', |
| formatter: function(param) { |
| return '{a|' + param.name + '}'; |
| }, |
| rich: { |
| a: { |
| height: 0, |
| fontSize: 16, |
| padding: [6,5,0,5], |
| backgroundColor: 'rgba(0,243,248,.7)', |
| } |
| } |
| }, |
| itemStyle: { |
| borderWidth: 1, |
| borderColor: '#7dcdff', |
| areaColor: '#0071c0', |
| emphasis: { |
| borderColor: '#7dcdff', |
| label: { |
| color: '#fff' |
| }, |
| } |
| }, |
| data: chartData |
| }, |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| ] |
| }; |
| chart.setOption(option); |
| |
| chart.on('click', function (param) { |
| |
| console.log(chart.convertFromPixel('geo', [param.event.offsetX, param.event.offsetY])); |
| }); |
| } |
| |
| export function shadowMapChart(chart) { |
| let option = { |
| geo: { |
| map: '天津', |
| roam: false, |
| aspectScale: 0.85, |
| layoutCenter: ["46%", "53.5%"], |
| layoutSize: '80.5%', |
| label: { |
| show: false |
| }, |
| itemStyle: { |
| borderColor: 'transparent', |
| areaColor: 'rgba(0,156,255,.3)', |
| } |
| }, |
| series: [{ |
| type: 'map', |
| map: '天津', |
| roam: false, |
| aspectScale: 0.85, |
| layoutCenter: ["46%", "55%"], |
| layoutSize: '80.5%', |
| label: { |
| show: false, |
| }, |
| itemStyle: { |
| borderColor: 'transparent', |
| areaColor: 'rgba(0,156,255,.1)', |
| emphasis: { |
| show: false |
| } |
| }, |
| }] |
| }; |
| chart.setOption(option); |
| } |
复制