import china from '../../util/geoJSON/china.json' //根据实际路径引入
eventMap() {
let hotEventMap = this.$echarts.init(this.$refs.hotEventMap)
let that = this
const coord = china.features.map(val => {
return {
name:val.properties.name,
value:val.properties.cp
}
})
const lines_coord = [];
coord.forEach((v,index)=> {
index > 0 && lines_coord.push({
coords:[v.value,coord[0].value]
})
})
this.$echarts.registerMap('henan',china)
hotEventMap.setOption({
// 提示框,鼠标移入
tooltip:{
show:true, //鼠标移入是否触发数据
trigger: 'item', //触发方式,
formatter: function (params) {
let value = 0;
that.eventTc.forEach(item => {
if(item.name == params.name + '市') {
value = item.value
}
})
return params.name
+ ":" + value},
backgroundColor: 'rgba(0,0,0,0.7)',//背景颜色(此时为默认色)
borderRadius: 4,//边框圆角
textStyle: {
color: '#fff'
}
},
//配置地图的数据,并且显示
geo:
{
name:'地图',
// type: 'map', //地图种类、
map: 'china', //地图类型。
zlevel: 10,
show:true,
layoutCenter: ['50%', '50%'],
roam: false,
layoutSize: "90%",
zoom: 1,
label: {
normal: {
show: true,
textStyle:{
fontSize:14,
// 文字顔色
color: '#43D0D6'
}
}
},
itemStyle: { //地图区域的多边形 图形样式。
emphasis:{ //高亮状态下的样试
label:{
show:true,
},
areaColor: '#FFB800',
},
normal: {
areaColor: '#1b579c',
borderWidth: 1,//设置外层边框
borderColor:'#1ECEF4',
}
},
},
series: [
{
// effectScatter画散点
type:'effectScatter',
coordinateSystem: 'geo',
zlevel: 15,
symbolSize:6,
rippleEffect: {
period: 3, brushType: 'stroke', scale: 3
},
itemStyle:{
color:'#FFB800',
opacity:0
},
data:coord.slice(1)
},
{
// 画中心散点
type:'effectScatter',
coordinateSystem: 'geo',
zlevel: 15,
symbolSize:10,
rippleEffect: {
period: 4, brushType: 'stroke', scale: 4
},
itemStyle:{
color:'#FF5722',
opacity:1
},
data:coord.slice(0,1)
},
{
// lines画线
type:'lines',
coordinateSystem:'geo',
zlevel: 15,
symbolSize:12,
effect: {
show: true,
period: 5, //箭头指向速度,值越小速度越快
trailLength: 0, //特效尾迹长度[0,1]值越大,尾迹越长重
symbol: 'arrow', //箭头图标
symbolSize: 8, //图标大小
color:'#01AAED'
},
itemStyle: {
normal: {
borderWidth: 1,
lineStyle: {
type: 'solid',
shadowBlur: 10
}
}
},
lineStyle: {
// normal: {
// type: 'solid',
// width: 1,
// opacity: 1,
// curveness: 0.3,
// color: {
// x: 0.5,
// y: 0.5,
// r: 0.5,
// 渐变色线条
// colorStops: [{
// offset: 0, color: 'red' // 0% 处的颜色
// }, {
// offset: 1, color: 'blue' // 100% 处的颜色
// }],
// global: false // 缺省为 false
// }
// },
normal: {width: 1.2, opacity: 0.6, curveness: 0.2, color: '#FFB800'}
},
data:lines_coord
}
],
// dataRange: {
// show: true,
// realtime: false,
// // calculable: true,
// x: '5%',
// y: '60%',
// splitList: [
// {start: 800, end:800,label: '> 800', color: '#a40e0e'},
// {start: 600, end: 800, label: '600-800', color: '#c80f0f'},
// {start: 400, end: 600, label: '400-600', color: '#e42e2e'},
// {start: 200, end: 400, label: '200-400', color: '#f79c9c'},
// {start: 0, end: 200, label: '0-200', color: '#fefbf5'}
// ],
// textStyle: {
// color: '#fff', // 值域文字颜色
// text: ['高', '低'],
// },
// selectedMode: true,
// inRange: {
// color: ['#fefbf5', '#f79c9c', '#e42e2e', '#c80f0f', '#a40e0e']
// }
// },
}),
window.addEventListener('resize', () => {
// 自动渲染echarts
hotEventMap.resize();
})
},