2012-05-16 100 views
2

所以我有4種不同類型的註釋顯示特定的針腳(即顏色)。我希望能夠有一個分段控件,允許用戶按類型顯示/隱藏這些註釋。iOS Mapkit - 如何過濾註釋(顯示/隱藏)?

有沒有簡單的方法來隱藏命令上的特定註釋?或者我真的不得不刪除,然後重建只有我想要顯示的註釋?

這個應用程序可能有數百或數千個引腳,所有這些引腳將是4種不同類型引腳中的1個。

謝謝!

回答

3

想通了。

基本上在創建註釋時,我將它們存儲在不同的數組中(對於每種類型)。

//Store Annotation in Array 
    [type1Array addObject:annotation]; 

然後,當按下我的按鈕對其進行過濾,我使用以下命令:

[_mapView removeAnnotations:type1Array]; 
    [_mapView addAnnotations:type2Array]; 

這似乎很好地工作和不導致與複製註釋的問題。我使用NSLog輸出_mapView.annotations.count來驗證註釋是否重複。

希望這可以幫助別人!

+1

刪除它們或隱藏它們會更好嗎? [[_mapView viewForAnnotation:annotation] setHidden:YES]; – lostintranslation