2014-07-14 35 views
0

我試圖在MKMapView上顯示很多自定義和動態的圓圈(一次最多可查看100個),這些圓圈的大小,顏色和不透明度會根據傳遞的數據而變化到MKAnnotationView在iOS7中顯示動態MKAnnotationViews的最有效方法

我現在有自定義的MKAnnotationMKAnnotationView類,我一直在探索許多不同的方式來動態顯示這些類,但我不確定哪一個會提供最佳的用戶體驗(無論是在圖形和速度方面)。

下面是我目前已經探索了方法(我相信還有更多的,我沒有研究)和我應該去什麼路徑下(和任何代碼幫助)的任何建議,將不勝感激:

1 - 縮放圓形的單個.png圖像圖像,並簡單縮放圖像frame並根據需要調整圖像tintcolor

2 - 使用drawrect每次動態繪製一個圓。

3 - 使用layer.cornerradius來創建一個圓的ImageView我顏色需要

更新 - 這是這似乎創造最佳的邊緣(使用「layer.cornerradius」選項),我只是不知道該代碼如果它將成爲同時製作數百個圈子的最佳選擇。

CGRect myFrame = self.frame; 
myFrame.size.width = 100; 
myFrame.size.height = 100; 
self.frame = myFrame; 
self.layer.cornerRadius = self.frame.size.width/2; 
self.clipsToBounds = YES; 
[self setBackgroundColor:[UIColor colorWithHue:1 saturation:1 brightness:1 alpha:.5]]; 
+0

只有知道什麼更高效或更低效率的方法是編寫應用程序並運行它並使用Instruments。否則,不要過早優化。 – matt

+0

@matt非常真實和非常好的建議......只是想看看是否有人已經完成了這條路徑 –

回答

1

您可以使用所有MKannoation的聚類並根據縮放級別和位置顯示它。

它可能不完全一樣你想要的,但你可以得到一些有效的方式顯示多個mkannotation視圖具有最佳的用戶體驗。

你可以從下面的鏈接

https://github.com/yinkou/OCMapView

獲得集羣的示例代碼希望它可以幫助你。

謝謝。

+0

我已經看過那裏,並在某些縮放級別,我會做一些聚合(或集羣),但將要顯示衆多即使我最終聚集在一起,也可以在地圖上同時點。感謝您傳遞鏈接...對於那些正在尋找集羣的另一個項目,在github中查看這裏:https://github.com/choefele/CCHMapClusterController –

相關問題