iPhone: Lag MKAnnotation

stemmer
14

Kan jeg lage en MKAnnotation, eller er det skrivebeskyttet? Jeg har koordinatene, men jeg er ikke å finne det lett å manuelt opprette en MKAnnotationmed hjelp setCoordinate.

Ideer?

Publisert på 21/05/2010 klokken 00:09
kilden bruker
På andre språk...                            


3 svar

stemmer
40

MKAnnotation er en protokoll. Så du trenger å skrive din egen merknad objekt som implementerer denne protokollen. Så din MyAnnotation header ser slik ut:

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

og implementeringen ser ut som (MyAnnotation.m):

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

Så for å legge til merknad til kartet:

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

Hvis du kontaktskjemaet en tittel og undertittel på kommentaren bildeforklaringen, må du legge til tittel og undertittel egenskaper.

Svarte 21/05/2010 kl. 00:21
kilden bruker

stemmer
32

I iPhone OS 4 er det en ny klasse MKPointAnnotation som er en konkret gjennomføring av MKAnnotation protokollen.

Svarte 24/06/2010 kl. 11:10
kilden bruker

stemmer
9

Sjekk eple MapCallouts prosjektet. Alt du trenger er i denne filen: http://developer.apple.com/iphone/library/samplecode/MapCallouts/Introduction/Intro.html

Svarte 03/06/2010 kl. 01:14
kilden bruker

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