Как повернуть MapView? - PullRequest
       10

Как повернуть MapView?

9 голосов
/ 16 февраля 2011

Я новый разработчик для Android. Пытался вращать MapView круговыми движениями. Но я не знаю с чего начать.

У вас есть простой код для поворота MapView?

Ответы [ 2 ]

11 голосов
/ 18 февраля 2011

Я делал это в прошлом, и для этого требуется создать пользовательскую ViewGroup, которая вращает Canvas в методе dispatchDraw (). Вам также необходимо увеличить размер MapView (чтобы при повороте он рисовал достаточно пикселей). Вам также необходимо повернуть события касания в dispatchTouchEvent (). Или, если вы используете Android 3.0, вы можете просто вызвать theMapView.rotate ():)

1 голос
/ 21 февраля 2011

В общем случае вы всегда можете создать Affine Transform с нужным вам поворотом под углом. В общем случае вы делаете матричное умножение этой формы:

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

Где (x, y) - ваши начальные координаты, θ - ваш угол поворота, а (x ', y') - результирующее преобразование.

...