2011-06-29 91 views
2

我有,增加了註解指向一個MapView像這樣的應用程序:如何刪除某些註釋銷

annot = [[AnnotationDelegate alloc] init]; 
annot.coordinate = CLLocationCoordinate2DMake(lat,long); 
annot.title = [NSString stringWithFormat:@"%d",id]; 
annot.subtitle = string; 
[mapView addAnnotation: annot]; 

的代碼塊可以執行多次,我允許用戶添加儘可能多的引腳,因爲他們想要的mapView。我的問題是,有沒有辦法修改這個,以便用戶可以刪除某個引腳?現在,我似乎只能刪除最近添加的那個。

希望有任何幫助,謝謝。

回答

2

只是刪除使用

[mapView removeAnnotation:annotationToRemove] 

想必你有某種形式的用戶界面,使用戶可以選擇他們所處理的其中一個註解?例如,您可能有一個場景,他們點擊一個圖釘來選擇它,然後在您的用戶界面的其他地方點擊刪除按鈕以刪除該圖釘?你可以使用類似這樣的東西來跟蹤最後選擇哪一個;

-(void) mapView:(MKMapView *)mapView didSelectAnnotationView:(MKAnnotationView *)view { 

    // Do other stuff 
    annotationToRemove = view.annotation;  
} 

您也可以實施didDeselectAnnotaionView方法。

與往常一樣,有copious documentation over at Apple