2010-02-09 60 views
6

使用MKMapView我有一堆加載到它的annoatations,我希望能夠過濾使用分段控件顯示的註釋。隱藏地圖註釋而不刪除它們

我使用定製標註有類型的變量,所以我可以從彼此區分它們,但我一直沒能找到一種方法來隱藏和顯示的註解視圖的子集。

回答

8

當然,試試這個:

Objective-C的解決方案:

[[yourMapView viewForAnnotation:yourAnnotation] setHidden:YES] 

斯威夫特4解決方案:

yourMapView.view(for: yourAnnotation)?.isHidden = true 

這將返回與指定相關聯的視圖註釋對象,那麼您可以將視圖設置爲隱藏。這是documentation

+0

感謝的是,工作一種享受。對不起,不又回到了這個越快。 – Affian 2010-02-11 21:39:26

+0

NP ......很樂意幫忙! – 2010-02-12 04:21:05

+0

過濾時是它更好地隱藏註釋或刪除呢? – lostintranslation 2014-06-25 23:57:31

0

,如果你想隱藏MKAnnotationView(氣泡),你可以創建一個自定義的:

- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>)annotation 
{ 

    if (annotation==self.map.mapView.userLocation) 
     return nil; 


    MKAnnotationView *annotationView = [[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:@"loc"]; 
    if([annotation isKindOfClass:[AnnotationCustomClass class]]) { 
     annotationView.canShowCallout = NO; // <- hide the bubble 

    } 

    return annotationView; 

}