2011-02-16 69 views
9

我是Android的新開發者。試圖以圓周運動旋轉MapView。 但我不知道如何開始。如何旋轉MapView?

你有一個簡單的代碼來旋轉MapView

回答

11

我已經完成了這一點,它需要創建一個自定義的ViewGroup,在dispatchDraw()方法中旋轉Canvas。您還需要增加MapView的大小(以便在旋轉時繪製足夠的像素)。您還需要旋轉dispatchTouchEvent()中的觸摸事件。或者,如果您使用的是Android 3.0,則可以簡單地調用MapView.rotate():

+0

這太好了。男士'謝謝。 – Ferdinand

+0

我們只有Honeycomb Preview,它不包含MapView。有沒有辦法獲得適用於Android 3.0的Maps API?文檔?什麼?請好嗎? –

+0

@Romain Guy:我沒有得到rotate()方法。 –

1

作爲一般情況,您始終可以創建帶有所需角度旋轉的Affine Transform。在一般情況下,這樣做是這種形式的矩陣乘法:

|x'| |cosθ -sinθ 0| |x| 
|y'| = |sinθ cosθ 0|*|y| 
|1 | |0  0  1| |1| 

其中(x,y)是您的初始座標,θ是您的旋轉角度,和(X「 Y」)是將得到的轉型。

+0

關於如何在android中使用仿射變換的另一個問題:http://stackoverflow.com/questions/3534642/how-to-map-javas-affinetransform-to-androids-matrix – Macarse