引脚标注视图的详细视图想要给出不同的值

时间:2012-01-20 16:19:09

标签: map annotations xcode4.2 callout

这是我的代码

@implementation AnnotationViewController
@synthesize mapView;

-(void)viewDidLoad {

    [super viewDidLoad];
    [mapView setMapType:MKMapTypeStandard];
    [mapView setZoomEnabled:YES];
    [mapView setScrollEnabled:YES];
    [mapView setDelegate:self];

    MKCoordinateRegion bigBen = { {0.0, 0.0} , {0.0, 0.0} };
    bigBen.center.latitude = 51.50063;
    bigBen.center.longitude = -0.124629;
    bigBen.span.longitudeDelta = 0.02f;
    bigBen.span.latitudeDelta = 0.02f;
    [mapView setRegion:bigBen animated:YES];

    Annotation *ann1 = [[Annotation alloc] init];
    ann1.title = @"Big Ben";
    ann1.subtitle = @"Your subtitle";
    ann1.coordinate = bigBen.center;
    [mapView addAnnotation: ann1];

    MKCoordinateRegion Bridge = { {0.0, 0.0} , {0.0, 0.0} };
    Bridge.center.latitude = 51.500809;
    Bridge.center.longitude = -0.120914;
    Bridge.span.longitudeDelta = 0.02f;
    Bridge.span.latitudeDelta = 0.02f;
    [mapView setRegion:Bridge animated:YES];

    Annotation *ann2 = [[Annotation alloc] init];
    ann2.title = @"Westminster Bridge";
    ann2.subtitle = @"Your subtitle";
    ann2.coordinate = Bridge.center;
    [mapView addAnnotation:ann2];

}

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


    MKPinAnnotationView *MyPin=[[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:@"current"];
    MyPin.pinColor = MKPinAnnotationColorGreen;

    UIButton *advertButton = [UIButton buttonWithType:UIButtonTypeDetailDisclosure];
    [advertButton addTarget:self action:@selector(button:) forControlEvents:UIControlEventTouchUpInside];

    MyPin.rightCalloutAccessoryView = advertButton;
    MyPin.draggable = NO;
    MyPin.highlighted = YES;
    MyPin.animatesDrop=TRUE;
    MyPin.canShowCallout = YES;


    return MyPin;
}
-(void)button:(id)sender {

    NSLog(@"Button action");
    [self performSegueWithIdentifier:@"detail" sender:sender];
    [self performSegueWithIdentifier:@"under" sender:sender];
}

如果您愿意,我单击“更多”按钮按下每个引脚的引脚已经处于不同的视图中 我甚至不知道怎么做这个。 无论当前状态如何,请选择任何带有相同详细信息页面的引脚 例如, 按下按钮是大本钟,webview 威斯敏斯特桥被迫来到textview 我要实现。 请注意,我可以使用xcode 4.2版本和故事板。 以下几天我会为此感谢你,谢谢你。

1 个答案:

答案 0 :(得分:0)

// You can probably use the property selectedAnnotations in MKMapView
// You might want to consider adding some more error checking

-(void)button:(id)sender {
    if ([mapView.selectedAnnotations count] >= 1) {
        NSLog(@"%@title = %@", [[mapView.selectedAnnotations objectAtIndex:0] title]);
    }
}