8 Stimmen

Ausblenden von Kartenanmerkungen, ohne sie zu löschen

Mit einem MKMapView habe ich einen Stapel von Annotationen geladen, und ich möchte in der Lage sein, die angezeigten Annotationen mit einem segmentierten Steuerelement zu filtern.

Ich verwende benutzerdefinierte Anmerkungen mit einer Typvariablen, damit ich sie voneinander unterscheiden kann, aber ich habe keine Möglichkeit gefunden, eine Untergruppe von Anmerkungsansichten nach Belieben ein- und auszublenden.

12voto

Ryan Ferretti Punkte 2921

Sicher, versuchen Sie das:

Objektiv-C Lösung:

[[yourMapView viewForAnnotation:yourAnnotation] setHidden:YES]

Mauersegler 4 Lösung:

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

Dies gibt Ihnen die Ansicht zurück, die mit dem angegebenen Anmerkungsobjekt verbunden ist, und Sie können die Ansicht auf ausgeblendet setzen. Hier ist die Dokumentation .

0voto

sonique Punkte 4072

Wenn Sie die MKAnnotationView (Blase) ausblenden möchten, können Sie eine eigene erstellen:

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

}

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