vue用echarts实现中国地图和世界地图

 部分代码和实现效果图如下


// 引入文件 import echarts from 'echarts' import '../../../../node_modules/echarts/map/js/china.js' import '../../../../node_modules/echarts/map/js/world.js'
// 地图配置代码   chinaConfigure(mapData) { const chinaMap = echarts.init(this.$refs.chinaMap) // 绑定页面div盒子 window.onresize = chinaMap.resize //实现地图自适应 chinaMap.setOption({ backgroundColor: '#071748', geo: { map: 'china', roam: false, zoom: 1, label: { normal: { show: false, // 是否显示对应地名 textStyle: { color: '#02F6F9' } }, emphasis: { // 对应的鼠标悬浮效果 show: true, textStyle: { color: '#02F6F9' } } }, itemStyle: { normal: { areaColor: '#091E64', borderColor: '#024DBA' }, emphasis: { borderWidth: 1, areaColor: '#091E64', borderColor: '#024DBA' } } }, visualMap: { type: 'piecewise', inRange: { color: ['#02F6F9', '#02F6F9', '#02F6F9'] }, pieces: [ { min: 0, max: 99, color: 'rgba(2,246,249, 1)' }, { min: 100, max: 10000, color: { type: 'radial', x: 0.5, y: 0.5, r: 0.5, colorStops: [ { offset: 0, color: 'rgba(11,28,92,0)' }, { offset: 0.8, color: 'rgba(10,94,137, 0.5)' }, { offset: 1, color: 'rgba(2, 246, 249, 1)' } ], globalCoord: false // 缺省为 false } } ], show: false, textStyle: { color: '#ffffff', fontSize: 16 } }, series: [ { type: 'scatter', coordinateSystem: 'geo', symbol: 'circle', symbolSize: function(val) { // 每个省市泡泡大小 val[2] === 1 ? val[2] = val[2]+1 : val[2] = val[2] if (val[2] < 100) { return Math.log(val[2]) * 3 } else { return Math.log(val[2]) * 6 } }, label: { normal: { show: true, color: '#fff', fontWeight: 'normal', position: 'inside', formatter: function(para) { if (para.data.value[2] >= 100 && para.data.value[2] < 200) { return '{cnNum|' + para.data.value[2] + '}' } else if (para.data.value[2] >= 200) { return '{txtFontsize|' + para.data.name + '}\n{cnNum|' + para.data.value[2] + '}' } else { return '' } }, rich: { cnNum: { fontSize: 14, fontWeight: 'bold', align: 'center', color: '#fff' }, txtFontsize: { fontSize: 10, align: 'center', color: '#02F6F9' } } }, emphasis: { show: true } }, itemStyle: { normal: { borderColor: 'rgba(12, 30, 99, 0.2)', color: '#fff' } }, data: mapData }] }) },
   // 世界地图配置代码    worldConfigure(mapData) {       const worldMap = echarts.init(this.$refs.worldMap)  // 绑定页面div盒子       window.onresize = worldMap.resize  //实现地图自适应
      worldMap.setOption({         nameMap: wolrdName(),         visualMap: {           type: 'piecewise',           inRange: {color: ['#02F6F9', '#02F6F9', '#02F6F9']},           pieces: [             { min: 0, max: 99, color: 'rgba(2,246,249, 1)' },             {               min: 100,               max: 100000,               color: {                 type: 'radial',                 x: 0.5,                 y: 0.5,                 r: 0.5,                 colorStops: [                   { offset: 0, color: 'rgba(11,28,92,0)' },                   { offset: 0.9, color: 'rgba(10,94,137, 0.5)' },                   { offset: 1, color: 'rgba(2, 246, 249, 1)' }                 ],                 globalCoord: false // 缺省为 false               }             }           ],           show: false,           textStyle: {             color: '#ffffff',             fontSize: 16           }         },         geo: {           map: 'world',           roam: false,           zoom: 1,           label: {             normal: {               show: false, // 是否显示对应地名               textStyle: {                 color: '#02F6F9'               }             },             emphasis: { // 对应的鼠标悬浮效果               show: true,               textStyle: {                 color: '#02F6F9'               }             }           },           itemStyle: {             normal: {               areaColor: '#091E64',               borderColor: '#024DBA'             },             emphasis: {               borderWidth: 1,               areaColor: '#091E64',               borderColor: '#024DBA'             }           }         },         series: [{           type: 'scatter',           coordinateSystem: 'geo',           mapType: 'world',           symbol: 'circle',           symbolSize: function(val) {             val[2] === 1 ? val[2] = val[2]+1 : val[2] = val[2]             if (val[2] < 100) {               return Math.log(val[2]) * 3             } else {               return Math.log(val[2]) * 6             }           },           label: {             normal: {               show: true,               color: '#fff',               fontWeight: 'normal',               position: 'inside',               formatter: function(para) {                 if (para.data.value[2] >= 100 && para.data.value[2] < 200) {                   return '{cnNum|' + para.data.value[2] + '}'                 } else if (para.data.value[2] >= 200) {                   return '{txtFontsize|' + para.data.name + '}\n{cnNum|' + para.data.value[2] + '}'                 } else {                   return ''                 }               },               rich: {                 cnNum: {                   fontSize: 14,                   fontWeight: 'bold',                   align: 'center',                   color: '#fff'                 },                 txtFontsize: {                   fontSize: 10,                   align: 'center',                   color: '#02F6F9'                 }               }             },             emphasis: {               show: true             }           },           itemStyle: {             normal: {               borderColor: 'rgba(12, 30, 99, 0.2)',               color: '#fff'             }           },           data: mapData         }]       })     },
 

vue用echarts实现中国地图和世界地图

 

上一篇:vue中使用echarts


下一篇:echarts设置y轴线的样式