在echarts2中我找不到dispatchAction的方法,所以通过多次setOption来实现省份的逐个高亮
代码:
<script src="http://echarts.baidu.com/build/dist/echarts-all.js"></script>
<script>
var mycharts = echarts.init(document.getElementById('charts'))
option = {
series : [
{
name: '中国',
type: 'map',
mapType: 'china',
selectedMode : 'single',
hoverable: false,
itemStyle:{
normal:{label:{show:true}},
emphasis:{label:{show:true}}
},
data:[
{name:'广东',selected:true},
{name:'广西',selected:false},
{name:'河南',selected:false},
{name:'河北',selected:false},
{name:'黑龙江',selected:false},
{name:'山西',selected:false},
{name:'甘肃',selected:false}
]
}
]
};
mycharts.setOption(option);
var provArr = ['广东', '广西', '河南', '河北', '黑龙江', '山西', '甘肃']
var num = 0
setInterval(function(){
num = (num+1) % provArr.length
for(let i in provArr){
if(i == num){
option.series[0].data[i].selected = true
}else{
option.series[0].data[i].selected = false
}
}
// option.series[0].data = [{name:provArr[num],selected:true}] 单独设data里的一项是不行的,会出现逐个高亮,最后全部高亮
mycharts.setOption(option);
},1000);
</script>
这个只是做了一个小效果,后面还要和其他效果结合在一起。
echarts初学阶段,如果有错误的地方请指出。