更具體地說... iOS的MapKit框架在渲染之前是否內置了MKPolyline和MKPolygon疊加層的泛化?MapKit推廣MKOverlays嗎?
模擬器顯示相當粗糙,顯示由幾百個點組成的多條折線。我是否達到了iPhone的抽獎表現的高峯,還是MapKit未編程爲自動概括數據,從而突出了設備的抽獎表現?
我知道我可以做一個測試用例來進行比較,但是爲測試用例創建/集成這樣的算法是相當密集的。我希望有人在這之前有一些內在的需要訴諸於此。
謝謝!
更具體地說... iOS的MapKit框架在渲染之前是否內置了MKPolyline和MKPolygon疊加層的泛化?MapKit推廣MKOverlays嗎?
模擬器顯示相當粗糙,顯示由幾百個點組成的多條折線。我是否達到了iPhone的抽獎表現的高峯,還是MapKit未編程爲自動概括數據,從而突出了設備的抽獎表現?
我知道我可以做一個測試用例來進行比較,但是爲測試用例創建/集成這樣的算法是相當密集的。我希望有人在這之前有一些內在的需要訴諸於此。
謝謝!
我不知道該generalize
一部分,但你也許可以通過其他方法來維持性能達:
多MKPolygons等造成嚴重的內存使用的地圖上繪製時。這是由於MapKit沒有重用覆蓋。由於註釋具有reuseWithIdentifier,所以疊加不會。每個疊加層都會在地圖上創建一個新圖層作爲MKOverlayView,並在其中添加疊加層。以這種方式,內存使用率將會非常快地上升,並且滾動變爲......讓我們說呆滯到幾乎不可能。
因此有一個解決方法:您可以將所有MKOverlay(在您的情況下MKPolygons和MKPolylines)添加到一個MKOverlayView中,而不是單獨繪製每個覆蓋圖。這樣你實際上只創建一個MKOverlayView,因此不需要重用。
this question中的答案包含Apple解決方案的鏈接。
我已經用多種方式使用這種方法MKPolygons
,它工作得很好。此外,我計劃在將來爲我的應用使用MKPolylines
。我相信有可能把它們全部繪製在一起MKOverlayView
...
使用這種方法你可能不需要generalize
MKPolygon覆蓋圖。此外,它更容易實施和測試國際海事組織;-)
當你說'粗糙',你是什麼意思?疊加層似乎被渲染成位圖,然後在地圖上繪製位圖 - 位圖將按比例縮放一定量,然後在縮放變化很大的情況下重新繪製。 –