2011-04-12 25 views
0

我試着用綠色和按鈕在地圖上製作一個定製的引腳。 但它不工作。我有一個名爲Placemark的類來實現mkannotation協議。 這是我的方法,它應該顯示綠色的腳,但它does not:iphone編程objective-c:mkannotation引腳問題

- (MKAnnotationView *) map:(MKMapView *)map viewForAnnotation:(id <MKAnnotation>) annotation{ 
    MKPinAnnotationView *annView=[[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:@"currentloc"]; 
    annView.pinColor = MKPinAnnotationColorGreen; 
    annView.animatesDrop=TRUE; 
    annView.canShowCallout = YES; 
    annView.calloutOffset = CGPointMake(-5, 5); 
    return annView; 
} 

我也想指定我的MKMapView被稱爲「地圖」和它的一個IBOutlet。

感謝

+0

你可以使用'addAnnotations:'發佈代碼添加註釋到地圖視圖的代碼嗎? – 2011-04-12 02:36:30

回答

1

的方法名稱必須mapView:viewForAnnotation:。地圖視圖專門爲該名稱查找。您可以更改內部參數變量名稱,但不能更改冒號前的部分。

試試這個:

- (MKAnnotationView *) mapView:(MKMapView *)map 
          viewForAnnotation:(id <MKAnnotation>) annotation 

隨着該拼寫錯誤,地圖視圖不會打電話給你viewForAnnotation方法,必須把默認的紅腳在地圖上。

+0

以及我做到了,但它沒有輸入方法更多 – 2011-04-12 03:00:07

+0

你的意思是它仍然不會調用該方法?確保地圖視圖的委託在IB中連接。 – Anna 2011-04-12 03:01:11

+0

除了使用正確的方法名稱並確保已設置委託之外,接下來需要檢查註釋是否實際上已添加到地圖視圖的註釋數組中。在addAnnotation行之後,NSLog註釋數組的計數(或者只記錄整個數組)。你看到添加到數組中的註釋嗎?否則,發佈創建地標的代碼並調用addAnnotation。當我再次上網時,我會再看看它,或者其他人在此之前也可以提供幫助。 – Anna 2011-04-12 03:36:26