我正在開發一個應用程序,在那裏我想展示從機場飛來的虛構飛機。這可能不是我想通過地圖表達的唯一事情。移動MKOverlayPathView消失在瓷磚後面
爲此,我使用了LocationReminders(MKOverlayPathView子類,ReminderCircleView)的示例代碼,並將它連接到我自己代表飛機的MKOverlay。此類爲覆蓋類的座標和半徑屬性訂閱KVO通知,並在每次有更新時使其路徑無效。
疊加更新其位置以每秒幾幀,我也更新它的半徑,所以我可以模擬角度(不是很聰明考慮它是一個模型對象,但還我已經找到了最佳的解決方案)。
我正在使用簡單的圓形路徑進行測試。
此設置工作正常。覆蓋視圖得到更新並且行爲正確,可以與地圖一起縮放。
問題是,在模擬飛行中,疊加層不會被繪製在某些貼圖上,通常在目標附近。這個圓圈看起來像是在這些瓷磚後面。
我能夠理解這個問題一兩件事:每當我看到不被繪製在一些瓦圈,如果我縮小了一圈將被正確繪製。然而,放大或平移並不能解決任何問題。
我的理論是,一些地磚(或他們的地圖rects)都沒有被標記爲重繪,因此,只能通過縮小我可以強制。但我認爲這與放大似乎沒有幫助的事實不符。
我不知道我是否做錯了什麼,或者如果我碰到一個bug或什麼的。我已經使用了註釋,而且它正在工作,但是由於我沒有能力來代表飛機縮小的情況,因此如果您自己縮放而不觀察縮放比例。
我已經在版本5.1,6.0和6.1中測試過,行爲是一樣的。