通常你有事件处理程序来捕捉鼠标移动或点击事件,并允许访问位于鼠标下的元素(一个系列或一个单元格)和一个位置(x,y)。但在我的情况下,我有一个屏幕点(x,y)需要访问它所针对的图表元素(如果有的话)。
在传统方式(Windows 形式)中,图表类中有这样的方法 ElementAt(int x, int y),返回值是标签、系列、点、标记等对象。
通常你有事件处理程序来捕捉鼠标移动或点击事件,并允许访问位于鼠标下的元素(一个系列或一个单元格)和一个位置(x,y)。但在我的情况下,我有一个屏幕点(x,y)需要访问它所针对的图表元素(如果有的话)。
在传统方式(Windows 形式)中,图表类中有这样的方法 ElementAt(int x, int y),返回值是标签、系列、点、标记等对象。
Google Visualization API 不公开任何方法来获取给定坐标集的元素。
一些图表支持 ChartLayoutInterface,它允许您获取有关图表元素的一些信息。您可以使用 CLI 的#getBoundingBox
方法来获取给定图表元素的顶部和左侧边缘(相对于图表容器)以及高度和宽度。如果您解析所有图表元素,您可以获得所有它们的位置,因此当您需要将屏幕坐标与元素进行比较时,您可以找到坐标处的元素。
不幸的是,没有很好的方法来获取所有图表元素的列表,因此您基本上必须编写函数来迭代每种元素类型中的所有可能元素,直到找不到一个。