Posso creare una MKAnnotation, o è di sola lettura? Ho coordinate, ma io non sto trovando facile creare manualmente un MKAnnotationcon l'utilizzo setCoordinate.
Idee?
Posso creare una MKAnnotation, o è di sola lettura? Ho coordinate, ma io non sto trovando facile creare manualmente un MKAnnotationcon l'utilizzo setCoordinate.
Idee?
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.
In iPhone OS 4 c'è una nuova MKPointAnnotation classe che è una concreta attuazione del protocollo MKAnnotation.
Controllare progetto di mela MapCallouts. Tutto ciò che serve è in quel file: http://developer.apple.com/iphone/library/samplecode/MapCallouts/Introduction/Intro.html