0

當選擇地圖上的註釋並點擊標註附件控件按鈕時,我需要能夠找到該註釋的索引。該索引將用於查看數組中的信息以準備下一個視圖控制器(詳細信息)。獲取mapView註釋的indexPath

如何找到註釋的索引?

- (void)mapView:(MKMapView *)mapView annotationView:(MKAnnotationView *)view calloutAccessoryControlTapped:(UIControl *)control 
{ 
NSLog(@"Button clicked"); 
[self performSegueWithIdentifier:@"showDetail" sender:self]; 
} 

由於

+0

嘗試爲每個註釋設置標籤。 – user1673099

回答

2

MKAnnotationView *視圖= ...

NSUInteger指數= [mapView.annotations indexOfObject:view.annotation];

+2

這將在地圖視圖的註釋列表中給出註釋的索引,但假定該位置與自己的註釋數組相匹配是不安全的。 @nevan king建議,首選的方法是使用一個自定義的註釋類和已經嵌入其中的數據(或者引用它)。 – Anna

+0

我創建了一個現在存儲描述的自定義註記類。如果我做NSLog(@「%@」,mapView.annotations.description);它打印出所有註釋的描述。我如何爲所選的一個做到這一點。 – user2920762

+0

NSLog(@「%@」,[[view annotation] description]);訣竅 – user2920762

2

像有在表視圖它沒有索引路徑。使用您自己的模型類作爲註釋,使其符合MKAnnotation,然後使用您擁有的任何邏輯來跟蹤各個模型項目。或者只是將模型項目原樣傳遞給下一個視圖控制器。

+0

你有沒有例子?我不明白你的答案。 – user2920762

+0

什麼是你添加到地圖的東西的類?即你有「商店」類或類似的東西嗎? –

+0

我有一個數組,可以存儲包含標題,副標題,說明和地址的多個對象。我有一個for循環遍歷地址元素的數組,並繪製在地圖上。我希望能夠在我的下一個視圖控制器上顯示該數組索引的描述。 – user2920762