Nascondere mappa annotazioni senza eliminarle

voti
6

Utilizzando un MKMapView Ho un mucchio di annoatations caricati su di esso e voglio essere in grado di filtrare le annotazioni visualizzate con un controllo segmentato.

Sto usando le annotazioni personalizzate con una variabile di tipo così posso distinguerli gli uni dagli altri, ma non sono stato in grado di trovare un modo per nascondere e visualizzare un sottoinsieme di viste di annotazione a volontà.

È pubblicato 10/02/2010 alle 00:13
fonte dall'utente
In altre lingue...                            


2 risposte

voti
8

Certo, provate questo:

Objective-C soluzione:

[[yourMapView viewForAnnotation:yourAnnotation] setHidden:YES]

Swift 4 soluzione:

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

Ciò restituirà la vista associata con l'oggetto di annotazione specificato, quindi è possibile impostare la visualizzazione di nascosto. Ecco la documentazione .

Risposto il 10/02/2010 a 00:41
fonte dall'utente

voti
0

Se si desidera nascondere la MKAnnotationView (bolla) è possibile creare uno personalizzato:

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

}
Risposto il 25/09/2015 a 01:37
fonte dall'utente

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