我有一个应用程序可以将注释点添加到mapView中,如下所示:
annot = [[AnnotationDelegate alloc] init];
annot.coordinate = CLLocationCoordinate2DMake(lat,long);
annot.title = [NSString stringWithFormat:@"%d",id];
annot.subtitle = string;
[mapView addAnnotation: annot];
这段代码可以多次执行,因为我允许用户在mapView中添加尽可能多的引脚。我的问题是,有没有办法修改它,以便用户可以删除某个引脚?现在我似乎只能删除最近添加的那个。
感谢任何帮助,谢谢。
答案 0 :(得分:2)
只需使用
删除注释即可[mapView removeAnnotation:annotationToRemove]
据推测,您有某种形式的用户界面可以让用户选择他们正在处理哪一个?例如,你可能有一个场景,他们点击一个引脚来选择它,然后点击你的UI中其他地方的删除按钮删除该引脚?您可以使用类似的东西跟踪上次选择的那个;
-(void) mapView:(MKMapView *)mapView didSelectAnnotationView:(MKAnnotationView *)view {
// Do other stuff
annotationToRemove = view.annotation;
}
您也可以实施didDeselectAnnotaionView
方法。