2010-02-09 8 views
6

Sử dụng MKMapView Tôi có một đống các phụ kiện được tải lên và tôi muốn có thể lọc các chú thích được hiển thị bằng điều khiển được phân đoạn.Ẩn các chú thích bản đồ mà không xóa chúng

Tôi đang sử dụng chú thích tùy chỉnh với biến loại để tôi có thể phân biệt chúng với nhau nhưng tôi không thể tìm cách ẩn và hiển thị tập con của chế độ xem chú thích theo ý muốn.

Trả lời

8

Chắc chắn, hãy thử này:

Objective-C giải pháp:

[[yourMapView viewForAnnotation:yourAnnotation] setHidden:YES] 

Swift 4 giải pháp:

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

này sẽ trả lại cho bạn những cái nhìn liên quan đến việc quy định đối tượng chú thích, sau đó bạn có thể đặt chế độ xem bị ẩn. Đây là số documentation.

+0

Cảm ơn vì điều đó, làm việc một điều trị. Xin lỗi vì đã không quay lại sớm hơn. – Affian

+0

np ... Rất vui được trợ giúp! –

+0

Khi lọc tốt hơn là ẩn chú thích hoặc xóa chú thích đó? – lostintranslation

0

nếu bạn muốn ẩn MKAnnotationView (bong bóng), bạn có thể tạo ra một tùy chỉnh một:

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

}