如何从另一个类中删除地图视图注释



我有一个有很多注释的MKMapView。当我点击注释时,注释的联系方式(ABPersonViewController)被推送。在本课程中,我可以选择删除联系人。由于联系人已从地址簿中删除,同时我也需要从地图视图中删除注释。

点击删除按钮时,联系人将从通讯簿中删除,ABPersonViewController类将从导航堆栈中弹出。现在,用户将看到地图视图。但它应该没有已删除的注释(联系人)。我该怎么做。

使用 annotation 属性从地图视图中获取注释。然后循环访问注释列表以获取特定注释,然后使用

- (void)removeAnnotation:(id < MKAnnotation >)annotation

删除批注的方法。我希望它能解决你的问题。

添加可变数组中的所有注释及其相应的地址,如下所示:

NSMutablearray *array;

[

数组添加对象:[NSDictionary dictionarywithobjectandkeys:@"your object and keys"];

现在,当用户删除地址时,其后续注释也将被删除。这应该可以做到。

要删除所有注释,请使用以下代码;

[mapView removeAnnotations:mapView.annotations]

最新更新