上の吹き出しが表示されない:MKAnnotationは、私が<code>MKMapView</code>を持っていると私はこのような注釈を追加しているMKMapView
for (NSDictionary *tmp in response)
{
NSDictionary *places = [tmp objectForKey:@"place"];
NSDictionary *location = [places objectForKey:@"location"];
NSLog(@"long: %@ Lat:%@",[location objectForKey:@"longitude"], [location objectForKey:@"latitude"]);
float longitude = [[location objectForKey:@"longitude"] floatValue];
float latitude = [[location objectForKey:@"latitude"] floatValue];
CLLocationCoordinate2D locationco = {latitude,longitude};
NSString *titleString = [tmp objectForKey:@"name"];
Place *pin = [[Place alloc] init];
pin.coordinate = locationco;
pin.title = titleString;
pin.subtitle = @"A Location";
//NSArray *annots = [[NSArray alloc] initWithObjects:pin, nil];
//[map addAnnotations:annots];
[map addAnnotation:pin];
[[map viewForAnnotation:pin] setCanShowCallout:YES];
}
なししかし、MKAnnotation
年代は、マップの罰金に表示され、私はそれらを選択することができますコールアウトバブルが表示されます。私は、彼らがこの
-(void)mapView:(MKMapView *)mapView didSelectAnnotationView:(MKAnnotationView *)view
{
[view setCanShowCallout:YES];
NSLog(@"Title:%@",[view.annotation description]);
}
を形成し、適切に選択されていることを知っているしかし、それはちょうど私がARCを使用してい
Title:(null)
を出力し、そして私のような私の場所のオブジェクトに設定するプロパティを持っています:
@property (nonatomic) CLLocationCoordinate2D coordinate;
@property (nonatomic,readwrite, copy) NSString *title;
@property (nonatomic,readwrite, copy) NSString *subtitle;
私は間違っている/紛失していますか?おかげさまで
'addAnnotation'行の前に、' pin.title'をNSLogできますか?また、Placeオブジェクトでは、 'description'メソッドをオーバーライドしましたか?もしあれば、そこにはどのようなコードがありますか? – Anna
'NSLog(@"%@ "、pin.title);' '(null)'を返します。私はなぜか分からない。 –