G2-mobile 不提供事件机制,但是提供支持事件的解决方案:
通过监听 canvas 的事件,获取当前点在画布上的坐标;
调用 chart.getSnapRecords(point, dim) 方法获取画布坐标逼近的源数据,直角坐标系下默认为映射到横轴的维度,极坐标系下默认为映射到半径的维度。饼图通常使用映射到角度的维度,所以,在饼图中使用时需要传递dim参数为映射到角度的维度。
// 根据画布位置和点击屏幕的坐标,获取画布上的坐标
function getPoint(canvas, x, y) {
var bbox = canvas.getBoundingClientRect();
return {
x: x - bbox.left,
y: y - bbox.top
};
}
window.onload=function(){
var canvas=document.getElementById("c1");
canvas.onclick=function(event){
var point=getPoint(canvas,event.clientX,event.clientY)
var x=parseInt(point.x);
var y=parseInt(point.y);
console.log("x:"+x+";"+"y:"+y);
// 根据画布坐标获取对应数据集
var data = chart.getSnapRecords(point);
console.log(data);
}
}