Gostaria de adicionar um recurso de anotações ao meu diagrama echarts. Ele será marcado como uma linha pontilhada verde com um marcador quadrado verde se houver alguma anotação. Quando o usuário clicar no marcador quadrado verde, um pop-up será aberto para mostrar a anotação real.
Quando executo o comando abaixo, ele é acionado sempre que clico em qualquer lugar na linha do marcador de anotação. Como posso saber se o usuário clica especificamente no marcador quadrado verde?
myChart.on('click', "series.line", function(params) {
console.log('normal click series.markLine', params)
})
Aqui está a demonstração: https://codepen.io/lora999/pen/azbGPKY
Se você explorar
params
em seumyChart.on('click', "series.line", function(params){...
você pode encontrar maneiras de identificar que o retângulo foi clicado. O mais direto parece serparams.event.target.type === 'rect'
(testado com renderer svg também):Trecho executável:
Entretanto, a solução mais segura é separar o retângulo da linha, torná-los duas anotações diferentes, o retângulo implementado como
markPoint
:ou usando o rótulo do ícone, como no código original (renderizador svg usado):