欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

echarts gl 3d地图,click事件失效,解决办法

程序员文章站 2024-02-02 11:00:22
...

问题

比如点击四川,进行下钻,需要获取点击区域的name属性,根据name进而异步获取四川的地图的json,如下图所示:
echarts gl 3d地图,click事件失效,解决办法

echart和gl版本

  • Loaded claygl, version 1.2.1
  • echarts-gl.min.js:1 Loaded echarts, version 4.6.0

事件绑定写法

myChart.on('click', function (clickparams) {
        console.log(clickparams);
        
    });

没法触发事件

网上找另外一个写法

myChart.getZr().on('click', function (clickparams) {
        console.log(clickparams);
        show(clickparams);
        
    });

只能获取到点击的x.y坐标,获取不到点击区域的名称,满足不了需求,崩溃,搞了好久, 后来去github issues上,果然很多人遇到这个问题,是个bug。

换个版本试试,

https://echarts.baidu.com/resource/echarts-gl-latest/dist/echarts-gl.min.js

用这个版本可,再配合

myChart.on('click', function (clickparams) {
        console.log(clickparams);
        
    });

可以实现触发,并获取点击区域的name,但是我之前调好的地图蓝色变白色了,好吧,总不能去研究源码吧?

变通解决办法

点击柱状图进行,可以触发click,就这样吧!!

相关标签: 开源框架