iPhone: Создание MKAnnotation

голоса
14

Могу ли я создать MKAnnotation, или это только для чтения? У меня есть координаты, но я не найти его легко создать вручную MKAnnotationс помощью setCoordinate.

Идеи?

Задан 21/05/2010 в 01:09
источник пользователем
На других языках...                            


3 ответов

голоса
40

MKAnnotation является протоколом. Таким образомвы должны написать свой собственный объект аннотацийкоторый реализует этот протокол. Таким образомваш заголовок MyAnnotation выглядит:

@interface MyAnnotation : NSObject<MKAnnotation> {
    CLLocationCoordinate2D coordinate;
}

@property (nonatomic, readonly) CLLocationCoordinate2D coordinate;

// add an init method so you can set the coordinate property on startup
- (id) initWithCoordinate:(CLLocationCoordinate2D)coord;

и ваша реализация выглядит (MyAnnotation.m):

- (id) initWithCoordinate:(CLLocationCoordinate2D)coord
{
    coordinate = coord;
    return self;
}

Таким образом, чтобы добавить аннотацию к карте:

MyAnnotation * annotation = [[[MyAnnotation alloc] initWithCoordinate:coordinate] autorelease];
[self.mapView addAnnotation:annotation];

Если вы wan't заголовка и подзаголовка на аннотациях выноски, вам нужно добавить заголовок и свойство субтитров.

Ответил 21/05/2010 в 01:21
источник пользователем

голоса
32

В iPhone OS 4 есть новый класс MKPointAnnotation который является конкретной реализацией протокола MKAnnotation.

Ответил 24/06/2010 в 12:10
источник пользователем

голоса
9

Проверьте проект яблочных MapCallouts. Все , что вам нужно в этом файле: http://developer.apple.com/iphone/library/samplecode/MapCallouts/Introduction/Intro.html

Ответил 03/06/2010 в 02:14
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more