1.解决Echarts地图区域点击事件无效
需求:获取echarts当前点击城市名称
bug:Echarts地图区域点击事件无效,添加.getZr()
后又无法获取到地图当前点击城市。
一些资料说是版本问题,然鹅我下了几个最新echarts版本都无效。怀疑是我加了自定义区域让它点不中了?
解决:
//添加.getZr()之后,又获取不到params中当前点击城市
let self=this;
this.chart.getZr().on('click', function (params) {
console.log('好的终于点击到了,但是点整个画布都能触发');
//判断点击的是地图区域 而非空画布
//通过判断鼠标在子元素上指针样式是否为pointer
if(self.$refs.ele.childNodes[0].style.cursor=='pointer'){
//self.city我在地图配置项emphasis.formatter中有存(👇附代码)
console.log(self.city);
}
}
//this.chart.setOption({})配置项中获取的city
emphasis: { //当鼠标放上去 地区区域是否显示名称
label: {
show: true,
formatter: function (params) {
this.city=params.name;//存取当前鼠标滑过城市
return params.name;
},
},
}