<template> <div class="hello"> <!-- 初始化echarts需要个有宽高的盒子--> <div ref="mapbox" style="height:600px;width:1000px"></div> </div> </template> <script> import echarts from \'echarts\' import \'echarts/map/js/china.js\' import jsonp from \'jsonp\' const option = { title :{ text:\'lord\' }, series: [{ name:\'确诊人数\', type:\'map\', map:\'china\', label:{ show:true, color:\'red\', fontSize:10 }, itemStyle:{ //控制地图板块的颜色和边框 borderColor:\'blue\' }, emphasis:{ //控制鼠标划过之后的高亮显示 label:{ color:\'#fff\', fontSize:12 } }, data:[],//用来请求后台数据 zoom:1, //控制地图的放大缩小 roam:true, }], visualMap:[{ type:\'piecewise\', show:true, // splitNumber:4 pieces:[ {min:10000}, {min:1000,max:9999}, {min:100,max:999}, {min:10,max:99}, {min:1,max:9} ], // inRange:{ // symbol:\'rect\', // color:[\'blue\',\'red\'], // }, itemWidth:20, itemHeight:10 //showLabel:false // align:\'right\' // orient:\'horizontal\' }], tooltip:{ trigger:\'item\' }, toolbox:{ show:true, orient:\'vertical\', left:\'right\', top:\'center\', feature:{ dataView:{readOnly:false}, saveAsImage:{}, restore:{} } } } export default { name: \'HelloWorld\', mounted() { this.getData(); this.mychart = echarts.init(this.$refs.mapbox); this.mychart.setOption(option) }, methods:{ getData(){ jsonp(\'https://interface.sina.cn/news/wap/fymap2020_data.d.json?_=1580892522427\',{},(err,data)=>{ if(!err){ console.log(data) let list = data.data.list.map(item=>({name:item.name,value:item.value})) option.series[0].data = list; this.mychart.setOption(option); //这行代码能执行的前提是DOM执行渲染完成 } }) } } } </script> <!-- Add "scoped" attribute to limit CSS to this component only --> <style scoped> h3 { margin: 40px 0 0; } ul { list-style-type: none; padding: 0; } li { display: inline-block; margin: 0 10px; } a { color: #42b983; } </style>