如何删除某个注释引脚

时间:2011-06-29 16:24:44

标签: iphone objective-c xcode mapkit mkannotation

我有一个应用程序可以将注释点添加到mapView中,如下所示:

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

这段代码可以多次执行,因为我允许用户在mapView中添加尽可能多的引脚。我的问题是,有没有办法修改它,以便用户可以删除某个引脚?现在我似乎只能删除最近添加的那个。

感谢任何帮助,谢谢。

1 个答案:

答案 0 :(得分:2)

只需使用

删除注释即可
[mapView removeAnnotation:annotationToRemove]

据推测,您有某种形式的用户界面可以让用户选择他们正在处理哪一个?例如,你可能有一个场景,他们点击一个引脚来选择它,然后点击你的UI中其他地方的删除按钮删除该引脚?您可以使用类似的东西跟踪上次选择的那个;

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

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

您也可以实施didDeselectAnnotaionView方法。

与往常一样,有copious documentation over at Apple