javascript:可以使用touchmove模仿iphone上的鼠标悬停?

时间:2011-09-13 19:00:02

标签: javascript iphone ipad mouseover

理想情况下,有一种方法可以使用iphone / ipad上的touchstart和touchmove模仿以下javascript的鼠标悬停图像映射功能:

http://www.netzgesta.de/mapper/

我希望允许iphone / ipad用户触摸地图,让他们触摸的国家突出显示,当他们将手指拖过其他国家时,这些国家会依次点亮,就像通过桌面一样使用鼠标悬停的浏览器。

想法,想法?这甚至可能吗?

1 个答案:

答案 0 :(得分:0)

您可以尝试使用touchesBegan和touchesMoved来获取触摸的坐标,然后检查它们是否在地图上的对象中。要获得这些坐标,请使用:

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
    UITouch *touch = [touches anyObject];
    CGPoint touchedPoint = [touch locationInView:self.view];
    //now you can use touchedPoint.x and touchedPoint.y for the coordiantes of the touched point.
}

同样,您可以使用

- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {
    UITouch *touch = [touches anyObject];
    CGPoint touchedPoint = [touch locationInView:self.view];
}

还存在touchesEnded和touchesCancelled。您可以使用它们来获取触摸的坐标,然后由您来解释这些点。您可以为要滚动的每个部分近似矩形,这会使这相当简单,但如果您有一个具有预期功能的地图作为javascript地图,则需要更复杂的形状,并且必须使用其他方法来定义形状