Скрыть, показать аннотацию на MkMapView - PullRequest
7 голосов
/ 20 января 2010

Как скрыть аннотацию при уменьшении масштаба карты. У меня есть большое количество комментариев, я должен их скрыть, потому что если область, отображаемая на карте, слишком велика, вы можете видеть только аннотации.

Ответы [ 2 ]

16 голосов
/ 20 января 2010

Чтобы сделать это, вы должны проверить размер вашего региона, и в зависимости от этого вы устанавливаете скрытые виды или нет.

Я тестировал код ниже, но вам, вероятно, понадобятся некоторые корректировки.


- (void)mapView:(MKMapView *)mapView regionDidChangeAnimated:(BOOL)animated
{
    NSArray *annotations = [_mapView annotations];  
    MyAnnotation *annotation = nil; 
    for (int i=0; i<[annotations count]; i++)
    {
        annotation = (MyAnnotation*)[annotations objectAtIndex:i];
        if (_mapView.region.span.latitudeDelta > .010)
        {
            [[_mapView viewForAnnotation:annotation] setHidden:YES];
        }
        else {
            [[_mapView viewForAnnotation:annotation] setHidden:NO];
        }
    }
}

Ура,
VFN

9 голосов
/ 30 марта 2016

Swift версия:

let annotations = self.maps.annotations

    for annotation in annotations
    {
        if (self.maps.region.span.latitudeDelta > 0.010)
        {

            self.maps.viewForAnnotation(annotation)?.hidden = true

        }
        else {

            self.maps.viewForAnnotation(annotation)?.hidden = false

        }
    }
...