开发者

How to rotate MapView?

I am a new developer for Android. Tried to rotate MapView in circular motion. But I don't know how to begin.

Do you have a simple code to rotate the Map开发者_如何学运维View?


I have done this in the past and it requires to create a custom ViewGroup that rotates the Canvas in the dispatchDraw() method. You also need to increase the size of the MapView (so that it draws enough pixels when rotated.) You will also need to rotate the touch events in dispatchTouchEvent(). Or if you use Android 3.0 you can simply call theMapView.rotate() :)


As a general case, you can always created an Affine Transform with the angled rotation you need. In the general case, you do a matrix multiplication of this form:

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

Where (x,y) are your initial coordinates, θ is your angle of rotation, and (x',y') are the resultant transformation.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜