iPhone: Creare MKAnnotation

voti
14

Posso creare una MKAnnotation, o è di sola lettura? Ho coordinate, ma io non sto trovando facile creare manualmente un MKAnnotationcon l'utilizzo setCoordinate.

Idee?

È pubblicato 21/05/2010 alle 01:09
fonte dall'utente
In altre lingue...                            


3 risposte

voti
40

MKAnnotation è un protocollo. Quindi è necessario scrivere il proprio oggetto di annotazione che implementa questo protocollo. Quindi l'intestazione MyAnnotation assomiglia a:

@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;

e l'implementazione assomiglia (MyAnnotation.m):

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

Quindi aggiungere l'annotazioni alla mappa:

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

Se wan't un titolo e sottotitolo sul richiamo di annotazione, è necessario aggiungere il titolo e le proprietà dei sottotitoli.

Risposto il 21/05/2010 a 01:21
fonte dall'utente

voti
32

In iPhone OS 4 c'è una nuova MKPointAnnotation classe che è una concreta attuazione del protocollo MKAnnotation.

Risposto il 24/06/2010 a 12:10
fonte dall'utente

voti
9

Controllare progetto di mela MapCallouts. Tutto ciò che serve è in quel file: http://developer.apple.com/iphone/library/samplecode/MapCallouts/Introduction/Intro.html

Risposto il 03/06/2010 a 02:14
fonte dall'utente

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