Ocultar anotaciones mapa sin eliminarlos

votos
6

El uso de un MKMapView Tengo un montón de annoatations cargados en ella y quiero ser capaz de filtrar las anotaciones que aparecen con un control segmentado.

Estoy usando anotaciones personalizadas con una variable de tipo para que pueda distinguirlos unos de otros, pero no he sido capaz de encontrar una manera de ocultar y mostrar un subconjunto de vistas de anotación a voluntad.

Publicado el 10/02/2010 a las 00:13
fuente por usuario
En otros idiomas...                            


2 respuestas

votos
8

Claro, intente lo siguiente:

Objetivo-C solución:

[[yourMapView viewForAnnotation:yourAnnotation] setHidden:YES]

Swift 4 solución:

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

Esto le devolverá la vista asociada con el objeto de anotación especificado, entonces se puede establecer el objeto de oculto. Aquí está la documentación .

Respondida el 10/02/2010 a las 00:41
fuente por usuario

votos
0

Si desea ocultar la MKAnnotationView (burbuja) puede crear uno personalizado:

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

}
Respondida el 24/09/2015 a las 22:37
fuente por usuario

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