2010-02-09 16 views
6

Bir MKMapView Kullanma Üzerine yüklü bir açıklama yığını var ve bölümlere ayrılmış bir denetim ile görüntülenen ek açıklamaları filtrelemek istiyorum.Harita ek açıklamalarını silinmeden gizleme

Bir tür değişkeni ile özel ek açıklamaları kullanıyorum, böylece birbirlerinden ayrı olarak anlatabilirim ancak ek açıklama notlarının bir alt kümesini saklayacak ve gösterecek bir yol bulamadım.

cevap

8

Tabii, bu deneyin:

Objective-C çözüm:

[[yourMapView viewForAnnotation:yourAnnotation] setHidden:YES] 

Swift 4 çözüm:

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

Bu, belirtilen ilişkili görünümü dönecektir ek açıklama nesnesi, sonra görünümü gizli olarak ayarlayabilirsiniz. İşte documentation. Eğer özel bir yumuşatma oluşturabilir MKAnnotationView (kabarcık) gizlemek istiyorsanız

+0

sayesinde bir tedavi çalıştı. Buna daha erken dönmemek için üzgünüm. – Affian

+0

np ... Yardım ettiğim için sevindim! –

+0

Filtreleme yaparken, ek açıklamaları gizlemek veya kaldırmak daha mı iyidir? – lostintranslation

0

: bunun için

- (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; 

} 
İlgili konular