Как показать аннотации в mapView - PullRequest
0 голосов
/ 22 марта 2012

У меня вопрос о комментариях MKA.Я хочу добавить к своим аннотациям mapView, чтобы нарисовать их с помощью типичного Pin.Как мне это сделать?Я реализовал средство получения координат, потому что координаты доступны только для чтения, и я дал значение координатам в этом методе.Если я добавлю аннотации следующим образом: [self.mapView addAnnotations: self.annotations];Разве этого недостаточно?Потому что в моем mapView не отображаются контакты, и я не знаю, нужно ли вызывать какой-либо метод или мне нужно вызывать установщик для координаты (но я думал, что собственный mapView вызывает метод получения класса Annotationдавая эту координату каждой аннотации).Мои mapView.annotations содержат аннотации, но они не отображаются на карте.

Спасибо

1 Ответ

0 голосов
/ 22 марта 2012

Все, что вам нужно сделать, это

PinObject* pin = [[PinObject alloc] init];
[pin setCoordinate:CLLocationCoordinate2DMake(double latitude, double longitude)];
[map addAnnotation:pin];

В PinObject вам нужно расширить MKAnnotation и ваш .h файл будет выглядеть так:

#import <Foundation/Foundation.h>
#import <MapKit/MapKit.h>

@interface PinObject : NSObject <MKAnnotation>{
}

@property (nonatomic, readonly) CLLocationCoordinate2D coordinate;
- (void)setCoordinate:(CLLocationCoordinate2D)newCoordinate ;
@end

Вам также необходимо добавить инфраструктуру MapKit и инфраструктуру CoreLocation в ваш проект

В вашем файле PinObject.m вам нужно реализовать метод

- (void)setCoordinate:(CLLocationCoordinate2D)newCoordinate {
    coordinate = newCoordinate;
}

Надеюсь, я вам помог.

...