Мои аннотации не показывают Подзаголовок в ПИН-коде - PullRequest
1 голос
/ 05 января 2012

в классе реализаций, ответственном за отображение PINS, я зарезервировал две переменные (заголовок и вложенный заголовок), в этом примере при нажатии на PIN-код отображается только слово USA (заголовок).

CLLocationCoordinate2D location2D = (CLLocationCoordinate2D){ .latitude = latitudeOfUserLocation, .longitude = longitudeOfUserLocation };
    ManageAnnotations *annotation=[[ManageAnnotations alloc]initWithTitle:@"USA" adresseDuTheme:@"Colorado" coordinate:location2D];//only USA is displayed
    annotation.pinColor = MKPinAnnotationColorRed;  //or red or whatever
    [self->mapView addAnnotation:annotation];
    MKCoordinateSpan span={.latitudeDelta=1,.longitudeDelta=0.5};
    MKCoordinateRegion region={location2D,span};
    [mapView setRegion:region];

Хотя в классе ManageAnnotations я зарезервировал две переменные для заголовка и подзаголовка.

@interface ManageAnnotations : NSObject<MKAnnotation>{

    NSString *_libelle;
    NSString *_adresse;
    CLLocationCoordinate2D _coordinate;

}
//
@property(nonatomic,assign)MKPinAnnotationColor pinColor;
@property(copy)NSString *libelle;
@property(copy)NSString *adresse;
@property(nonatomic,readonly)CLLocationCoordinate2D coordinate;

-(id)initWithTitle:(NSString*)libelle adresseDuTheme:(NSString*)adresse coordinate:(CLLocationCoordinate2D)coordinate;
@end


#import "ManageAnnotations.h"

@implementation ManageAnnotations

@synthesize pinColor;
@synthesize libelle=_libelle;
@synthesize adresse=_adresse;
@synthesize coordinate=_coordinate;
-(id)initWithTitle:(NSString*)libelle adresseDuTheme:(NSString*)adresse coordinate:(CLLocationCoordinate2D)coordinate{

    if((self=[super init])){
        _libelle=[libelle copy];
        _adresse=[adresse copy];
        _coordinate=coordinate;

    }
    return self;

}
-(NSString*)title{

    return _libelle;
}
-(NSString*)subTitle{
    return _adresse;


}


@end

Ответы [ 2 ]

7 голосов
/ 05 января 2012

Протокол MKAnnotation определяет свойство subtitle как:

@property (nonatomic, readonly, copy) NSString *subtitle

Примечание. subtitle - это все строчные буквы, но у вашего класса есть subTitle (прописные буквы T), который не будет вызывать представление карты.

Измените объявление метода на:

-(NSString*)subtitle
1 голос
/ 13 июня 2013

измените subTitle на subtitle в объявлении метода и объявления свойства, и это будет работать.:) счастливого кодирования,

...