2010-02-09 35 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; 

} 
相关问题