我正在为Android和IOS做一个Titanium应用程序。我想显示一个交互式图表,类似于snazzy-animated-pie-chart-html5-jquery或pie-chart-with-html5-canvas-element。
我创建了一个Web视图,并将html图表添加到此webview中。它在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),它也是一样的。它始终突出显示相同的切片。任何的想法?谢谢!
答案 0 :(得分: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上试过了,它运行正常并且触摸位置正常。