我有一個具有mapview的應用程序,它顯示地圖上的20個引腳(來自陣列)。當用戶點擊它時,它可以用正確的附件按鈕顯示氣泡。 這裏來我的問題:我怎麼知道哪個引腳被按下? 我聽說過有關mapView:didSelectAnnotationView方法,但我不太瞭解如何獲得pin/callout索引,以便我可以在我的Array的相同索引處獲取對象的信息?謝謝你的幫助!如何保存所選的MKAnnotation?
3
A
回答
6
當該方法被調用 - 因爲你的viewController類採用了MKMapViewDelegate
,您可以撥打陣列上並獲得該引腳(註釋)的索引。這是假設你的數組擁有這種註解類的對象。
- (void)mapView:(MKMapView *)mapView didSelectAnnotationView:(MKAnnotationView *)view {
// Annotation is your custom class that holds information about the annotation
if ([view.annotation isKindOfClass:[Annotation class]]) {
Annotation *annot = view.annotation;
NSInteger index = [self.arrayOfAnnotations indexOfObject:annot];
}
}
如果你需要更多的解釋,我們需要知道你是如何將這些引腳,即實施- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>)annotation
。
0
以下是Canopus的類似解決方案。
- (void)mapView:(MKMapView *)mapView didSelectAnnotationView:(MKAnnotationView *)view
{
if ([view.annotation isKindOfClass:[MyAnnotation class]])
{
NSInteger index = [mapView.annotations indexOfObject:view.annotation];
NSLog(@"%d",index);
}
注:我手動添加註釋到地圖,然後查看其各自的索引。它們不會按照它們添加到mapView的順序進行索引。即僅僅因爲您添加了註釋作爲第四個註釋,它可能會有索引1或3或其他任何內容。有人可能會對此有一個解釋,但直到現在它一直沒有。希望這可以幫助。
相關問題
- 1. 如何在MKAnnotation中顯示所選圖像CalloutAccessoryView,swift 2.2
- 2. 如何保存所選複選標記的狀態?
- 3. 如何屬性存儲與MKAnnotation
- 4. 如何設置MKAnnotation
- 5. 如何使用MKAnnotation
- 6. 如何保存所選字體大小localStorage的
- 7. 如何使用jquery保存所選asp按鈕的css類?
- 8. 如何保存選項?
- 9. Webstorm:只保存打開的選項卡與保存所有選項卡?
- 10. 如何獲取所選複選框的值並使用保存對話框將它們保存爲XML格式
- 11. MKAnnotation viewForAnnotation從來沒有所謂的
- 12. 如何將所選日期保存在數據庫中
- 13. 如何在Outlook VBA中保存所選項目
- 14. 如何將所選圖像保存在UIImagePicker控制器中?
- 15. rails,simple_form,如何在保存後用所選選項更新單選按鈕?
- 16. 詹金斯果凍選擇不保存所選的選項
- 17. 如何存儲所有選中複選框的所有ID?
- 18. Custom ListPreference RadioButton不保存所選項目
- 19. 在arraylist中保存所選列表項
- 20. Highcharts如何保存選定的圖例
- 21. 如何保存並加載複選框,如保存文件 - php
- 22. MKAnnotation:爲MKAnnotation讀取標籤
- 23. 如何保存所有令牌?
- 24. 如何存儲MKAnnotationViews及其相應的MKAnnotation
- 25. 如何在Emacs中保存所有文件(或保存所有緩衝區)?
- 26. 如何保存對本地存儲所做的任何更改?
- 27. iOS MapKit:選定的MKAnnotation座標
- 28. UITapGestureRecognizer上的MKMapView打破MKAnnotation選擇
- 29. 從MKmapview中選擇的MKAnnotation獲取URI
- 30. 如何將所選項目從HTML選擇中保存到PHP變量中?
哇,這正是我所需要的!謝謝! – RobRoyRyan 2012-03-28 18:38:03
它應該是'didDeselectAnnotationView'嗎?或didselectedAnnotationView? – RobRoyRyan 2012-03-28 21:47:27
@RobRoyRyan實際上都有,但我的意思是didSelectAnnotationView。當你第一次選擇一個註釋時,didSelectAnnotationView被調用。當選擇註釋並點擊地圖上的其他地方時,didDeselectAnnotationView會被調用。當選擇註釋並選擇另一個註釋時,先調用DeSelectAnnotationView,然後調用didSelectAnnotationView。 – Canopus 2012-03-28 22:06:38