Скрытие аннотаций на карте без их удаления - PullRequest
7 голосов
/ 10 февраля 2010

Используя MKMapView, у меня загружена куча комментариев, и я хочу иметь возможность фильтровать комментарии, отображаемые с сегментированным элементом управления.

Я использую пользовательские аннотации с переменной типа, чтобы я мог отличить их друг от друга, но я не смог найти способ скрыть и отобразить подмножество просмотров аннотаций по желанию.

Ответы [ 2 ]

9 голосов
/ 10 февраля 2010

Конечно, попробуйте это:

Объектив-C Решение:

[[yourMapView viewForAnnotation:yourAnnotation] setHidden:YES]

Swift 4 решение:

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

Это вернет вам вид, связанный с указанным объектом аннотации, затем вы можете установить вид на скрытый. Вот документация .

0 голосов
/ 25 сентября 2015

если вы хотите скрыть MKAnnotationView (пузырек), вы можете создать собственный:

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

}
...