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?
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?
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.
I iPhone OS 4 er det en ny klasse MKPointAnnotation som er en konkret gjennomføring av MKAnnotation protokollen.
Sjekk eple MapCallouts prosjektet. Alt du trenger er i denne filen: http://developer.apple.com/iphone/library/samplecode/MapCallouts/Introduction/Intro.html