Creare una MKAnnotation

MKAnnotation non è una classe, ma è un protocollo a cui deve aderire la classe che andremo a realizzare per visualizzare l’annotazione sulla mappa.

Per questo dobbiamo aggiungere una nuova coppia di file al progetto creando la classe (ad esempio) MyAnnotation. Il file di intestazione e implementazione saranno qualcosa di simile a quanto segue:

1
2
3
4
5
6
7
@interface MyAnnotation : NSObject<MKAnnotation> {
    CLLocationCoordinate2D coordinate;
}
 
@property (nonatomic, readonly) CLLocationCoordinate2D coordinate;
 
- (id) initWithCoordinate:(CLLocationCoordinate2D)coord;
@interface MyAnnotation : NSObject<MKAnnotation> {
    CLLocationCoordinate2D coordinate;
}

@property (nonatomic, readonly) CLLocationCoordinate2D coordinate;

- (id) initWithCoordinate:(CLLocationCoordinate2D)coord;

e

1
2
3
4
5
- (id) initWithCoordinate:(CLLocationCoordinate2D)coord
{
    coordinate = coord;
    return self;
}
- (id) initWithCoordinate:(CLLocationCoordinate2D)coord
{
    coordinate = coord;
    return self;
}

Poi sarà sufficiente aggiungere l’annotazione alla mappa:

1
2
3
MyAnnotation * annotation = [[MyAnnotation alloc] initWithCoordinate:coordinate];
 
[self.mapView addAnnotation:annotation];
MyAnnotation * annotation = [[MyAnnotation alloc] initWithCoordinate:coordinate];

[self.mapView addAnnotation:annotation];

Se si vogliono anche titolo e sottotitolo nel callout dell’annotazione, sarà sufficiente aggiungere le proprietà title e subtitle.

Lascia un Commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati *

È possibile utilizzare questi tag ed attributi XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code lang=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" extra="">