$(function () { //echart_3(); function echart_3() { // 基于准备好的dom,初始化echarts实例 var myChart = echarts.init(document.getElementById('chart_3')); function showProvince() { var geoCoordMap = { '哈尔滨市': [126.642464,45.756967], '齐齐哈尔市': [123.95792,47.342081], '鸡西市': [130.975966,45.300046], '鹤岗市': [130.277487,47.332085], '双鸭山市': [131.157304,46.643442], '大庆市': [125.11272,46.590734], '伊春市': [128.899396,47.724775], '七台河市': [131.015584,45.771266], '牡丹江市': [129.618602,44.582962], '黑河市': [127.499023,50.249585], '绥化市': [126.99293,46.637393], '大兴安岭地区': [124.711526,52.335262] }; var data = [{ name: '哈尔滨市', value: 100 }, { name: '齐齐哈尔市', value: 100 }, { name: '鸡西市', value: 100 }, { name: '鹤岗市', value: 100 }, { name: '双鸭山市', value: 100 }, { name: '大庆市', value: 100 }, { name: '伊春市', value: 100 } , { name: '佳木斯市', value: 100 } , { name: '七台河市', value: 100 } , { name: '牡丹江市', value: 100 } , { name: '黑河市', value: 100 } , { name: '绥化市', value: 100 } , { name: '大兴安岭地区', value: 100 } ]; var max = 480, min = 9; // todo var maxSize4Pin = 100, minSize4Pin = 20; var convertData = function (data) { var res = []; for (var i = 0; i < data.length; i++) { var geoCoord = geoCoordMap[data[i].name]; if (geoCoord) { res.push({ name: data[i].name, value: geoCoord.concat(data[i].value) }); } } return res; }; myChart.setOption(option = { title: { text: '设备分布', subtext: '', x: 'center', textStyle: { color: '#FFF' }, left: '6%', top: '10%' }, legend: { orient: 'vertical', y: 'bottom', x: 'right', data: ['pm2.5'], textStyle: { color: '#fff' } }, visualMap: { show: false, min: 0, max: 500, left: 'left', top: 'bottom', text: ['高', '低'], // 文本,默认为数值文本 calculable: true, seriesIndex: [1], inRange: {} }, geo: { show: true, map: 'guangxi', mapType: 'guangxi', label: { normal: {}, //鼠标移入后查看效果 emphasis: { textStyle: { color: '#fff' } } }, //鼠标缩放和平移 roam: true, itemStyle: { normal: { // color: '#ddd', borderColor: 'rgba(147, 235, 248, 1)', borderWidth: 1, areaColor: { type: 'radial', x: 0.5, y: 0.5, r: 0.8, colorStops: [{ offset: 0, color: 'rgba(175,238,238, 0)' // 0% 处的颜色 }, { offset: 1, color: 'rgba( 47,79,79, .1)' // 100% 处的颜色 }], globalCoord: false // 缺省为 false }, shadowColor: 'rgba(128, 217, 248, 1)', shadowOffsetX: -2, shadowOffsetY: 2, shadowBlur: 10 }, emphasis: { areaColor: '#389BB7', borderWidth: 0 } } }, series: [{ name: 'light', type: 'map', coordinateSystem: 'geo', data: convertData(data), itemStyle: { normal: { color: '#F4E925' } } }, { name: '点', type: 'scatter', coordinateSystem: 'geo', symbol: 'pin', symbolSize: function (val) { var a = (maxSize4Pin - minSize4Pin) / (max - min); var b = minSize4Pin - a * min; b = maxSize4Pin - a * max; return a * val[2] + b; }, label: { normal: { // show: true, // textStyle: { // color: '#fff', // fontSize: 9, // } } }, itemStyle: { normal: { color: '#F62157', //标志颜色 } }, zlevel: 6, data: convertData(data), }, { name: 'light', type: 'map', mapType: 'hunan', geoIndex: 0, aspectScale: 0.75, //长宽比 showLegendSymbol: false, // 存在legend时显示 label: { normal: { show: false }, emphasis: { show: false, textStyle: { color: '#fff' } } }, roam: true, itemStyle: { normal: { areaColor: '#031525', borderColor: '#FFFFFF', }, emphasis: { areaColor: '#2B91B7' } }, animation: false, data: data }, { name: ' ', type: 'effectScatter', coordinateSystem: 'geo', data: convertData(data.sort(function (a, b) { return b.value - a.value; }).slice(0, 5)), symbolSize: function (val) { return val[2] / 10; }, showEffectOn: 'render', rippleEffect: { brushType: 'stroke' }, hoverAnimation: true, label: { normal: { formatter: '{b}', position: 'right', show: true } }, itemStyle: { normal: { color: '#05C3F9', shadowBlur: 10, shadowColor: '#05C3F9' } }, zlevel: 1 }, ] }); } showProvince(); // 使用刚指定的配置项和数据显示图表。 // myChart.setOption(option); window.addEventListener("resize", function () { myChart.resize(); }); } });