Hiding annotations cartographiques sans les supprimer

voix
6

L'utilisation d'un MKMapView J'ai un tas de annoatations chargés sur elle et je veux être en mesure de filtrer les annotations affichées avec un contrôle segmenté.

J'utilise des annotations personnalisées avec une variable de type je peux leur dire à part les uns des autres mais je ne l'ai pas été en mesure de trouver un moyen de cacher et afficher un sous-ensemble de vues d'annotation à volonté.

Créé 10/02/2010 à 00:13
source utilisateur
Dans d'autres langues...                            


2 réponses

voix
8

Bien sûr, essayez ceci:

Objective-C solution:

[[yourMapView viewForAnnotation:yourAnnotation] setHidden:YES]

Swift 4 solution:

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

Cela vous ramènera la vue associée à l'objet d'annotation spécifié, vous pouvez définir la vue de caché. Voici la documentation .

Créé 10/02/2010 à 00:41
source utilisateur

voix
0

si vous voulez cacher la MKAnnotationView (bulle), vous pouvez créer un personnalisé:

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

}
Créé 25/09/2015 à 01:37
source utilisateur

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