//在div中初始化地图 // /let myChart = echarts.init(document.getElementById('map-content')); let uploadedDataURL2 = "../../js/compreDisplay/anhui/hefei.json"; echarts.init(document.getElementById('echarts-map2')).dispose(); let myChart2 = null; /** * 加载地图 * @param dataMap */ function map2(dataMap) { $.getJSON(uploadedDataURL2, function (geoJson) { echarts.registerMap('anhui', geoJson); myChart2.hideLoading(); let max = 480, min = 1; // todo let maxSize4Pin = 100, minSize4Pin = 100; let convertData = function (data) { let res = []; for (let i = 0; i < data.length; i++) { let geoCoord = data[i].coordinate; if (geoCoord) { res.push({ proName: data[i].proName, num:data[i].num, riskLevel: data[i].riskType, workContent: dealEmptyString(data[i].workContent), isOnline: isOnline(data[i].ballStatus), workManager: dealEmptyString(data[i].workManage) + '' + dealEmptyString(data[i].workManagePhone), value: geoCoord.concat(data[i].value,data[i].proName,data[i].num), coordinate: data[i].coordinate, }); } } return res; }; let option = { silent: false, backgroundColor: 'transparent', textStyle: { fontSize: 15, fontWeight: 'bold', color: 'red' }, tooltip: { trigger: 'item', enterable: true, position: function (pos, params, dom, rect, size) { if ($(dom).children($('p')).length === 0) $(dom).css('display', 'none') pos = [pos[0], pos[1] + 10]; return pos; }, backgroundColor: 'rgba(14, 17, 28,0.63)', //设置背景颜色 textStyle: { color: '#fff' }, borderColor: "#174FDD", formatter: function (params) { if (params.data) return ( '

' + params.data.proName + '

' + '

风险等级:' + setRiskLevelColor(params.data.riskLevel) + '

' + '

作业内容:' + sliceStr(params.data.workContent) + '

' + '

班组长:' + params.data.workManager + '

' + '

预警数量:' + params.data.num + '

' + '

球机:' + params.data.isOnline + '

' ) }, // extraCssText: "background:url('../../img/tc.png') 100% 100% repeat;", extraCssText: "max-width:300px;height:auto;word-break:break-all;white-space:pre-wrap;", }, geo: { show: true, map: 'anhui', aspectScale:0.8, label: { normal: { show: true, textStyle: { color: '#fff', fontFamily: 'Alibaba PuHuiTi R' }, rotate: -20, }, emphasis: { show: true, } }, roam: false, scaleLimit: { max: max, min: min }, itemStyle: { normal: { areaColor: '#52ADF3', borderColor: '#fff', borderWidth: 2, shadowColor: 'rgba(80, 172, 243, 0.5)', shadowBlur: 30 }, emphasis: { areaColor: '#2B91B7', } }, tooltip: { show: true } }, series: [{ name: '在线', type: 'scatter', coordinateSystem: 'geo', animation: false, symbolSize: function (val) { let a = (maxSize4Pin - minSize4Pin) / (max - min); let b = minSize4Pin - a * min; b = maxSize4Pin - a * max; return 20; }, symbol: function (val) { console.log(val) var num=Number(val[4])+1; return getEchartsImage(val[2],num,val[3]); }, label: { normal: { show: false, textStyle: { color: '#fff', fontSize: 15, opacity: 1 } } }, zlevel: 6, z: 6, data: convertData(dataMap) }, ] } myChart2.clear(); myChart2.setOption(option, true); }); window.addEventListener("resize", function () { myChart2.resize(); }); } /*判空*/ function dealEmptyString(str) { if (str) { return str; } return ''; } /*判断球机是否在线*/ function isOnline(value) { if (value) { if (value === '0' || value === 0) { return '离线'; } else { return '在线'; } } else { return '离线'; } } function getEchartsCityImage(type,num,proName){ if(proName.indexOf('变电站')!=-1 && proName.indexOf('线路')==-1){ if(type==2){ return 'image://../../img/map/bdz2.png'; }else if(type==3){ return 'image://../../img/map/bdz3.png'; }else if(type==4){ return 'image://../../img/map/bdz4.png'; }else if(type==5){ return 'image://../../img/map/bdz5.png'; } }else{ if(type==2){ return 'image://../../img/map/two-risk'+num+'.png'; }else if(type==3){ return 'image://../../img/map/three-risk'+num+'.png'; }else if(type==4){ return 'image://../../img/map/four-risk'+num+'.png'; }else if(type==5){ return 'image://../../img/map/five-risk'+num+'.png'; } } }