我在嘗試旋轉我的iPhone應用程序中的地圖時面臨此問題關於在iOS中旋轉地圖
視圖被剪切並旋轉也發生。我想避免剪輯。有小費嗎 ?
繼承人的代碼:
viewToRotate.layer.transform = CATransform3DMakeRotation(0.8, 0., 0., 1.);
我在嘗試旋轉我的iPhone應用程序中的地圖時面臨此問題關於在iOS中旋轉地圖
視圖被剪切並旋轉也發生。我想避免剪輯。有小費嗎 ?
繼承人的代碼:
viewToRotate.layer.transform = CATransform3DMakeRotation(0.8, 0., 0., 1.);
你有沒有想出解決辦法嗎?
我能做到的唯一方法就是讓界面生成器中的MapView比它應該覆蓋的屏幕區域的實際尺寸大得多,然後我將MapView對齊,使其中心位於更窄的中心可視區域。
旋轉似乎與其在內置地圖應用中的工作方式類似。
我的猜測是,你必須這樣做,以便從Google流入的圖像圖塊覆蓋足夠寬的區域,以便「填補空白」,即使它們不總是可見。
如果您應用一點數學計算,您可能可以通過編程來設置MapView的大小和位置,這樣就可以無效裁剪,但不需要比絕對必要的更多的圖塊。
您需要以3D形式旋轉地圖嗎?如果沒有(這是我認爲你需要的),那麼只需使用CGAffineTransformMakeRotation
(小心,因爲它需要以弧度表示的角度)。
另外,如果你不想讓你的地圖被裁剪做,你需要讓你的地圖更大,像下面的圖片(在新標籤中打開看看它更大)
http://img593.imageshack.us/img593/4498/calculatemapboundswhenr.png
首先,您需要按照上圖(我稱之爲「半徑」,因爲這將是比您的矩形更大的最小圓的半徑)指示來計算矩形的對角線(您的可視地圖)。
其次,使用半徑,您需要計算(最小)平方,這將允許您的地圖在沒有裁剪的情況下被看到。這個正方形將用於設置您的地圖的bounds
(注意:不是frame
- Apple規定,使用旋轉時,不應使用frame
- 只需bounds
和/或center
)。
確保此方形以可見的地圖矩形的中心爲中心(即,方形應該在小矩形上方和下方的X像素以及小矩形的左邊和右邊Y像素)。
希望它有幫助!
你是什麼意思「視圖被剪輯」? – 2011-02-01 00:35:30