如何旋转MapView?

9

我是一名Android的新开发者。想要让MapView以圆形运动的方式旋转,但我不知道该如何开始。

你有简单的代码可以让MapView旋转吗?

2个回答

11

我以前做过这个,需要创建一个自定义的ViewGroup,在dispatchDraw()方法中旋转Canvas。还需要增加MapView的大小(以便在旋转时绘制足够的像素)。您还需要在dispatchTouchEvent()中旋转触摸事件。或者,如果您使用Android 3.0,只需调用MapView.rotate() :)


我们只有Honeycomb预览版,其中不包括MapView。有没有办法获得Android 3.0的地图API?文档?任何东西?拜托了。 - Dave MacLean
@Romain Guy:我不理解rotate()方法。 - Nirav Ranpara

1

通常情况下,您可以始终使用所需的角度旋转创建仿射变换。在一般情况下,您需要进行以下形式的矩阵乘法:

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

其中,(x,y)是您的初始坐标,θ是旋转角度,(x',y')是变换结果。


关于如何在Android中使用仿射变换的另一个问题:https://dev59.com/6nA65IYBdhLWcg3w-jym - Macarse

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接