使用MKMapView我有一堆加載到它的annoatations,我希望能夠過濾使用分段控件顯示的註釋。隱藏地圖註釋而不刪除它們
我使用定製標註有類型的變量,所以我可以從彼此區分它們,但我一直沒能找到一種方法來隱藏和顯示的註解視圖的子集。
使用MKMapView我有一堆加載到它的annoatations,我希望能夠過濾使用分段控件顯示的註釋。隱藏地圖註釋而不刪除它們
我使用定製標註有類型的變量,所以我可以從彼此區分它們,但我一直沒能找到一種方法來隱藏和顯示的註解視圖的子集。
當然,試試這個:
Objective-C的解決方案:
[[yourMapView viewForAnnotation:yourAnnotation] setHidden:YES]
斯威夫特4解決方案:
yourMapView.view(for: yourAnnotation)?.isHidden = true
這將返回與指定相關聯的視圖註釋對象,那麼您可以將視圖設置爲隱藏。這是documentation。
,如果你想隱藏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;
}
感謝的是,工作一種享受。對不起,不又回到了這個越快。 – Affian 2010-02-11 21:39:26
NP ......很樂意幫忙! – 2010-02-12 04:21:05
過濾時是它更好地隱藏註釋或刪除呢? – lostintranslation 2014-06-25 23:57:31