0

クリックされた注釈のサブタイトルを MapView で設定するのに苦労しています。

.m:

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

Annotation *ann1 = [[Annotation alloc] init];
ann1.title = @"England";
ann1.subtitle = @"subtitle";
ann1.coordinate = England.center;
[mapView addAnnotation:ann1];


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

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

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)mapView:(MKMapView *)mapView1 didSelectAnnotationView:(MKAnnotationView *)view
{
id<MKAnnotation> selectedAnn = [mapView.selectedAnnotations objectAtIndex:0];
country_title = selectedAnn.title;

selectedAnn.subtitle = @"NEW SUBTITLE";

}

注釈をクリックした後にサブタイトルを設定するにはどうすればよいですか? クリックするとmysqlからいくつかの行が取得されるため、そのようにしたくありません..しかし、特定の注釈のサブタイトルを更新する方法がわかりませんか?

前もって感謝します!:)

4

1 に答える 1

0
    id<MKAnnotation> selectedAnn = view.annotation;
[mapview removeAnnotation:selectedAnn];

.. Add Annotation with new subtitle

[mapview addAnnotation:newselectedAnn];
[newselectedAnn setSelected:Yes animated:No];

お役に立てれば

于 2013-05-09T08:56:10.533 に答える