2009-11-12 78 views
2

我在地圖視圖和每個按鈕上標註了標註。我需要做的是從這個標註中獲取屬性,即。標題,但記錄此行:獲取關於地圖查看選定批註的信息

NSLog(@"%@", mapView.selectedAnnotations); 

回報<AddressAnnotation: 0x1bdc60>這顯然沒有給我有用的信息...

我的問題是,我怎麼能訪問選擇的註釋標註的屬性?

+0

凡正在實施這個代碼?另外,Bill Dudney在MapKit上有一段相當不錯的視頻,可以從這裏的Pragmatic Programmers處獲得:http://www.pragprog.com/screencasts/v-bdmapkit/using-map-kit – gerry3 2009-11-19 11:02:53

+0

它正在使用的方法當按下標註中的按鈕時會被調用。我只需要抓住選定的註釋標題並存儲它。 – rson 2009-11-19 16:24:18

回答

1

mapView.selectedAnnotations返回一組偏移量。您應該訪問其項目以獲取信息。

+0

對,我可以看到,但我需要訪問有關單個註釋的信息,如其標題。 – rson 2009-11-19 16:22:35

+0

我使用MapView/annotations/annotations視圖很長一段時間,並且發現了一個事實(錯誤?),selectedAnnotations在MKMapView實例上返回一個AnnotationView數組?你沒有經歷過同樣的(奇怪的)行爲嗎? – yonel 2010-04-26 19:48:00

+0

不,它似乎總是爲我返回註釋 – Vladimir 2010-04-27 08:03:16

2

這是怎麼

for (id annotation in mapView.annotations) {NSLog([annotation title]);} 
2

以下是我在annotationviewClick功能所做的:

希望這有助於

-(IBAction) annotationViewClick:(id) sender{ 

    [self.view addSubview:LoadingView]; 
    Annotation *ann = [myMap.selectedAnnotations objectAtIndex:([myMap.selectedAnnotations count]-1)]; 


    NSLog(@"Selected:%@", [ann tag]); 

}