2014-07-01 30 views
0

我正在使用mapKit。我创建了带标题,副标题和ID的自定义注释。 这是创建的标注方法:如何获得另一个类中的地图注释属性?

- (instancetype) initWithCoordinates:(CLLocationCoordinate2D)paramCoordinates title: (NSString *)paramTitle subTitle:(NSString *)paramSubTitle ID:(NSString*)ID 
{ 
self = [super init]; 
if (self != nil) 
    { 
    _coordinate = paramCoordinates; _title = paramTitle; 
    _subtitle = paramSubTitle; 
    _ID = ID; 
    } 
return self; 
} 

现在我用这个在其他类中创建注释:在单击批注我希望能够得到注解ID

-(void)createCityAnnotation 
{ 
CLLocationCoordinate2D location1 = 
CLLocationCoordinate2DMake(35.6961, 51.4231); 
mapAnnotation *annotation1 = 
[[mapAnnotation alloc] initWithCoordinates:location1 
            title:@"City 1" 
            subTitle:@"XXX" 
             ID:@"1"]; 
[self.myMapView addAnnotation:annotation1]; 

CLLocationCoordinate2D location2 = 
CLLocationCoordinate2DMake(32.6333, 51.6500); 
mapAnnotation *annotation2 = 
[[mapAnnotation alloc] initWithCoordinates:location2 
            title:@"City2" 
            subTitle:@"YYY" 
             ID:@"2"]; 
[self.myMapView addAnnotation:annotation2]; 

CLLocationCoordinate2D location3 = 
CLLocationCoordinate2DMake(38.0667, 46.3000); 
mapAnnotation *annotation3 = 
[[mapAnnotation alloc] initWithCoordinates:location3 
            title:@"City3" 
            subTitle:@"WWW" 
             ID:@"3"]; 
[self.myMapView addAnnotation:annotation3]; 
} 

现在在calloutAccessoryControlTapped方法中。我不知道到底该怎么做so.It会是这样的:

- (void)mapView:(MKMapView *)mapView annotationView:(MKAnnotationView *)view calloutAccessoryControlTapped:(UIControl *)control 
{ 
    ////Use the Annotations ID here. 
    [table reloadData]; 
} 
+0

检查view.annoatation正在恢复与否。 –

+0

我NSLog view.annotation,这是我得到: devdev101

回答

1

尝试这个

 - (void)mapView:(MKMapView *)mapView annotationView:(MKAnnotationView *)view calloutAccessoryControlTapped:(UIControl *)control 
     { 
      mapAnnotation *annotaion= view.annotation;//this annotationWill be ur annotation.then u can get ID by annotation.ID. 
NSLog(@"%@",annotation.ID); 
     } 
+0

我觉得这里有一个误解,ID是一个NSString! – devdev101

+0

你的要求是从这个方法得到的ID,R8? –

+0

如果你已经足够了,请在答案 –

相关问题