iPhone: Créer MKAnnotation

voix
14

Puis - je créer un MKAnnotation, ou est - il seulement lire? Je coordonnées, mais je ne trouve pas , il est facile de créer manuellement un MKAnnotationà l' aide setCoordinate.

Idées?

Créé 21/05/2010 à 01:09
source utilisateur
Dans d'autres langues...                            


3 réponses

voix
40

MKAnnotation est un protocole. Doncvous devez écrire votre propre objet d'annotation qui implémente ce protocole. Ainsivotre tête de MyAnnotation ressemble:

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

et votre mise en œuvre ressemble (MyAnnotation.m):

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

Donc, pour ajouter votre annotation à la carte:

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

Si vous wan't un titre et sous-titre sur la légende d'annotation, vous devez ajouter le titre et les propriétés des sous-titres.

Créé 21/05/2010 à 01:21
source utilisateur

voix
32

Dans iPhone OS 4 il y a une nouvelle MKPointAnnotation de classe qui est une mise en œuvre concrète du protocole MKAnnotation.

Créé 24/06/2010 à 12:10
source utilisateur

voix
9

Vérifier le projet MapCallouts pomme. Tout ce que vous avez besoin est dans ce fichier: http://developer.apple.com/iphone/library/samplecode/MapCallouts/Introduction/Intro.html

Créé 03/06/2010 à 02:14
source utilisateur

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