2011-09-13 48 views
1

理想的情況下有使用touchstart和touchmove在iPhone/iPad的模仿下面的JavaScript的鼠標懸停圖像映射功能的方法:javascript:可能使用touchmove模仿在iPhone上的鼠標懸停?

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

我希望允許iPhone/iPad的用戶觸摸地圖,讓他們觸摸的國家能夠突出顯示,並且當他們將手指放在其他國家時,這些國家又會點亮,就像他們通過桌面瀏覽器使用鼠標懸停一樣。

想法,想法?這甚至有可能嗎?

+0

@WolfLink:對不起,我應該提到這是一個使用支持觸摸功能的設備(如iPad/iPhone/Android)查看的Web應用程序/網站,任何解決方案都需要基於Web技術。 – Gsims

回答

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地圖,你會需要更復雜的形狀,將不得不使用其他方法來定義形狀。