Ukrywanie mapę adnotacje bez ich usuwania

głosy
6

Korzystanie z MKMapView mam stertę annoatations załadowanych na niego i chcę mieć możliwość filtrowania wyświetlanych adnotacji o segmentowej kontroli.

Używam niestandardowe adnotacje o zmiennej typu, więc mogę ich odróżnić od siebie, ale nie udało się znaleźć sposób, aby ukryć i wyświetlić podzbiór widokach adnotacji do woli.

Utwórz 10/02/2010 o 00:13
źródło użytkownik
W innych językach...                            


2 odpowiedzi

głosy
8

Jasne, spróbuj tego:

Cel C rozwiązanie:

[[yourMapView viewForAnnotation:yourAnnotation] setHidden:YES]

Szybka 4 rozwiązanie:

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

Będzie to powrót widok skojarzony z określonego obiektu adnotacji, wówczas można ustawić widok na ukryte. Oto dokumentacja .

Odpowiedział 10/02/2010 o 00:41
źródło użytkownik

głosy
0

jeśli chcesz ukryć MKAnnotationView (bubble) można utworzyć niestandardową:

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

}
Odpowiedział 25/09/2015 o 01:37
źródło użytkownik

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more