2011-04-13 62 views
3

我想檢測點擊註釋針腳(的mapkit),以便我可以對該事件執行操作。如何檢測地圖上的點擊註釋Pin?

現在默認註解標誌彈出來,以防我觸摸註釋引腳。我想定製這個來調用我的方法時,觸摸引腳。

回答

7


您需要實現以下的委託方法

(MKAnnotationView) mapView viewForAnnotation:(id) annotation 

然後,只需申報按照此方法

MKPinAnnotationView *view=[[MKPinAnnotationView alloc]initWithAnnotation:annotation reuseIdentifier:@"abc"]; 
view.canShowCallout=YES; 
view.calloutOffset=CGPointMake(-20,10); //As per your choice 

那麼你可以添加UI到您的標註如的UIButton或UIImage作爲 view.rightCalloutAccesoryView View.le ftCalloutAccesoryView

+3

...當標註出來時,它會調用'mapView:annotationView:calloutAccessoryControlTapped:'委託方法(不需要addTarget或手勢識別器)。 – Anna 2011-04-13 12:53:46

+2

如果你不想標準標註,你也可以使用'mapView:didSelectAnnotationView:'來檢測點擊。 – Anna 2011-04-13 12:55:50

+0

嗨,@AnnaKarenina,mapView:didSelectAnnotationView無法正常工作。如果您點擊兩次相同的註釋,則會導致第二次點擊被忽略。 – 2013-04-18 10:13:50

0

作爲地圖上的銷售是MKAnnotationView你可以添加UITapGestureRecognizer它(你的),但如果它已經有一些GestureRecognizer比你需要先刪除它。

感謝

相關問題