[英]How to remove mapview annotation from another class
我有一個帶有很多注釋的MKMapView
。 當我點擊注釋時, ABPersonViewController
注釋的聯系人詳細信息( ABPersonViewController
)。 在此類中,我可以選擇刪除聯系人。 由於聯系人已從通訊錄中刪除,因此同時我也需要從mapview中刪除注釋。
點擊刪除按鈕后,聯系人將從通訊簿中刪除,並且ABPersonViewController
類從導航堆棧中彈出。 現在,用戶可以看到地圖視圖。 但是應該沒有被刪除的注釋(聯系人)。 我怎樣才能做到這一點。
將所有注釋添加到可變數組及其對應的地址中,如下所示:
NSMutablearray *數組;
[數組添加對象:[帶有對象和鍵的NSDictionary詞典:@“您的對象和鍵”];
現在,當用戶刪除地址時,其后續注釋也將被刪除。 那應該做。
使用annotation
屬性從地圖視圖中獲取annotation
。 然后遍歷注釋列表以獲取特定注釋,然后使用
- (void)removeAnnotation:(id < MKAnnotation >)annotation
刪除注釋的方法。 希望它能解決您的問題。
要刪除所有注釋,請使用以下代碼;
[mapView removeAnnotations:mapView.annotations]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.