2010-11-24 14 views
0

私は数百のMKPointAnnotationsを持つマップを持ち、左右のコールアウトアクセサリを持つように設定されています。問題は、その注釈に固有です特定のMKAnnotationに固有のイベントを実行する方法

たとえば、特定の注釈を押した場合、その注釈についての詳細な情報を持つ新しいviewControllerに移動したいとします。私は、すべてのデータは、このような...

@synthesize coordinate; 
@synthesize _title; 
@synthesize _date; 
@synthesize _description; 
@synthesize _coordinates; 

- (CLLocationCoordinate2D)coordinate;{ 
    CLLocationCoordinate2D theCoordinate; 
    theCoordinate.latitude = _coordinates.latitude; 
    theCoordinate.longitude = _coordinates.longitude; 
    return theCoordinate; 
} 

- (NSString *)title { 
return _title; 
} 

- (NSString *)subtitle { 
return _description; 
} 

- (void)dealloc { 
[super dealloc]; 
[_description release]; 
[_date release]; 
[_title release]; 
} 

として注釈に含まれているMKAnnotationに準拠したカスタムオブジェクトは、誰もがこれで私を助けてくださいすることができますセットアップを持っている:D

答えて

3

は、私たちは、クラスを考えてみましょう上記のコードに名前を付けることは、多くの注釈を追加するループ内で上記のコードを入れて、またはannotaion 0を入れて、あなたのViewController

annotation *annotationObject=[[annotation alloc]init]; 
[email protected]"Some title"; 
[email protected]"Some subtitle"; 
annotationObject.coordinate=someCoordinate; 
[mapView addAnnotation:annotationObject]; 
[annotationObject release]; 

でannotation.m

です配列内に存在し、addAnnotationsをmapViewに使用します。 viewForAnnotationで

は、ユーザーがacessoryボタンを選択すると、このデリゲートは

- (void)mapView:(MKMapView *)mapView annotationView:(MKAnnotationView *)view calloutAccessoryControlTapped:(UIControl *)control 
{ 
    //Get the specific annotation by the view.annotation.title 
    //Go to another view that has details 
} 
+0

理にかなって、[OK]、および返信用のおかげで呼び出されますが、私はできない注釈に

- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>)annotation { MKAnnotationView *annotationView = [[[MKAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:@"Pin"] autorelease]; annotationView.canShowCallout = YES; UIButton *annotationButton=[UIButton buttonWithType:UIButtonTypeDetailDisclosure]; annotationView.rightCalloutAccessoryView = annotationButton; return annotationView; } 

を付属のボタンを追加します説明だけのタイトル、サブタイトル、コーディネイトなど、上記のカスタム注釈内の他の情報にアクセスしますか? –

+0

FYIの字幕は説明です。あなたは注釈の字幕と座標にアクセスできないと言っていますか?しかし、注釈のタイトルだけにアクセスすることはできます。 – iPrabu

関連する問題