echarts 涟漪效果地图的label点击事件 代码
时间: 2023-11-19 17:04:06 浏览: 148
下面是一个简单的示例代码,演示如何在echarts涟漪效果地图中添加label点击事件:
```javascript
// 初始化echarts实例
var myChart = echarts.init(document.getElementById('myChart'));
// 配置涟漪效果地图
var option = {
series: [{
type: 'effectScatter',
coordinateSystem: 'geo',
data: [
{name: '北京', value: [116.46, 39.92]},
{name: '上海', value: [121.48, 31.22]},
{name: '广州', value: [113.23, 23.16]}
],
rippleEffect: {
brushType: 'stroke'
},
label: {
show: true,
formatter: '{b}',
position: 'right'
},
itemStyle: {
color: 'purple'
}
}],
geo: {
map: 'china',
label: {
emphasis: {
show: false
}
},
roam: true,
itemStyle: {
normal: {
areaColor: '#323c48',
borderColor: '#111'
},
emphasis: {
areaColor: '#2a333d'
}
}
}
};
// 绑定label点击事件
myChart.on('click', function (params) {
if (params.componentType === 'series' && params.seriesType === 'effectScatter') {
alert('您点击了' + params.name);
}
});
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
```
在上面的代码中,我们先初始化了一个echarts实例,然后配置了一个涟漪效果地图。在配置中,我们设置了一个label,用于显示地图上的城市名称。接着,我们通过`myChart.on('click', function (params) {...})`绑定了一个label点击事件的处理函数。在处理函数中,我们判断`params.componentType`和`params.seriesType`是否分别等于`series`和`effectScatter`,如果是,则表示用户点击了一个label,我们就可以通过`params.name`获取到该城市的名称,然后进行相应的处理。
注意,由于涟漪效果地图是基于geo组件实现的,因此我们需要在geo组件上绑定点击事件,而不是在series组件上绑定。同时,我们还需要判断`params.seriesType`是否等于`effectScatter`,因为在涟漪效果地图中,我们使用了effectScatter类型的散点图来展示城市的位置信息。
阅读全文