отображать местоположение пользователя при viewDidAppear - PullRequest
0 голосов
/ 15 августа 2011

Я пытаюсь добавить аннотацию к текущему местоположению пользователя после загрузки представления. Как мне это сделать? Было бы хорошо, если есть примеры, так как я новичок.

Спасибо за миллион.

Ответы [ 2 ]

1 голос
/ 15 августа 2011

Убедитесь, что для свойства showsUserLocation вашего MKMapView установлено значение YES.

Только для этого свойства разрешено отображение местоположения пользователя.

1 голос
/ 15 августа 2011

Что касается отображения текущего местоположения в виде аннотации, я сделал следующее:

    // Set up the annotation
LocationAnnotation *annotation = [[LocationAnnotation alloc] initWithLatitude:[numberFormatter numberFromString:[[location valueForKey:@"latitude"] description]] andLongitude:[numberFormatter numberFromString:[[location valueForKey:@"longitude"] description]] andTitle:[location valueForKey:@"name"] andSubtitle:[location valueForKey:@"notes"]];
[numberFormatter release];

[self.mapView addAnnotation:annotation];

Класс заголовка аннотации выглядит следующим образом:

@interface LocationAnnotation : NSObject <MKAnnotation> {

UIImage *image;
NSNumber *latitude;
NSNumber *longitude;
NSString *locationTitle;
NSString *locationSubtitle;
}

@property (nonatomic, retain) UIImage *image;
@property (nonatomic, retain) NSNumber *latitude;
@property (nonatomic, retain) NSNumber *longitude;

@property(nonatomic,retain) NSString *locationTitle;
@property(nonatomic,retain) NSString *locationSubtitle;

-(id)initWithLatitude:(NSNumber *)aLatitude andLongitude:(NSNumber *)aLongitude andTitle:(NSString *)aLocationTitle andSubtitle:(NSString *)aLocationSubtitle;

@end

Метод addAnnotation и MKAnnotation Протокол - это то, что вам нужно для достижения этой цели.

Если вы хотите показывать пользовательские местоположения, вы не станете создавать свой собственный MKAnnotation, как упомянуто здесь:

загрузка пользовательского изображения в mkmaps

...