7 Stimmen

Ausblenden, Anzeigen von Anmerkungen auf MkMapView

Wie kann man Anmerkungen ausblenden, wenn man die Kartenansicht verkleinert? Ich habe eine große Anzahl von Annotationen, die ich ausblenden muss, denn wenn der auf der Karte angezeigte Bereich zu groß ist, kann man nur die Annotationen sehen.

17voto

vfn Punkte 5967

Dazu müssen Sie die Größe Ihrer Region überprüfen und je nach Größe die Ansichten ausblenden oder nicht.

Ich habe den unten stehenden Code getestet, aber Sie müssen wahrscheinlich einige Anpassungen vornehmen.

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

10voto

nano Punkte 101

Schnelle Version:

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

        }
    }

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X