echarts gl 3d地圖,click事件失效,解決辦法


問題

比如點擊四川,進行下鑽,需要獲取點擊區域的name屬性,根據name進而異步獲取四川的地圖的json,如下圖所示:
file

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,就這樣吧!!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM