0

我正在为 Android 和 IOS 开发 Titanium 应用程序。我想显示一个交互式图表,类似于snazzy-animated-pie-chart-html5-jquerypie-chart-with-html5-canvas-element

我已经创建了一个 web 视图,并将 html 图表添加到这个 web 视图中。它在 IOS 上工作正常,它显示饼图和交互工作正常。

但是,当我在 Android 设备上尝试时,它显示了饼图,但我无法选择切片,因此交互性不起作用。

在图表点击事件中,下一个代码总是返回相同的值,无论我触摸到哪里。

var mouseX = clickEvent.pageX - this.offsetLeft;
var mouseY = clickEvent.pageY - this.offsetTop; 

你知道我该如何解决吗?我可以使用另一个 x,y 吗?

我正在使用http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js。我必须为移动设备使用特定的 jquery 库吗?

这是最好的方法吗?你知道另一种方法吗?就像从头开始在 Titanium 中创建图表一样,如果可能的话....

你知道一个简单且可定制的库来做到这一点吗?

非常感谢

更新

我也尝试过使用 jqplot 库和一个简单的交互式饼图(pie-donut-charts),结果也是一样的。它总是突出显示相同的切片。任何想法?谢谢!

4

1 回答 1

0

我想我已经解决了这个问题,而不是使用点击事件,我使用 ontouchend 事件:

document.ontouchend = function(e) {

   var mouseX = e.changedTouches[0].pageX;
   var mouseY = e.changedTouches[0].pageY;

   //Calculate if the touch was inside or outside the chart and do the correct action
}

我已经在 Android 和 IOS 上尝试过,它可以正常工作并且可以确定触摸的位置。

于 2013-08-30T09:16:55.813 回答