iPhone: Erstellen MKAnnotation

stimmen
14

Kann ich ein schaffen MKAnnotationnur, oder ist es gelesen? Ich habe Koordinaten, aber ich finde es nicht leicht manuell erstellen eine MKAnnotationmit der Verwendung setCoordinate.

Ideen?

Veröffentlicht am 21/05/2010 um 01:09
quelle vom benutzer
In anderen Sprachen...                            


3 antworten

stimmen
40

MKAnnotation ist ein Protokoll. So müssen Sie Ihre eigene Anmerkung Objekt schreibendie dieses Protokoll implementiert. Also Ihre MyAnnotation Header wie folgt aussehen:

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

und Ihre Implementierung sieht aus wie (MyAnnotation.m):

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

So Ihre Anmerkung zu der Karte hinzuzufügen:

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

Wenn Sie einen Titel und Untertitel auf der Anmerkung callout wan't, müssen Sie den Titel und Untertitel-Eigenschaften hinzuzufügen.

Beantwortet am 21/05/2010 um 01:21
quelle vom benutzer

stimmen
32

In iPhone OS 4 gibt es eine neue Klasse MKPointAnnotation, die eine konkrete Umsetzung des MKAnnotation Protokolls ist.

Beantwortet am 24/06/2010 um 12:10
quelle vom benutzer

stimmen
9

Überprüfen Apfel MapCallouts Projekt. Alles , was Sie brauchen , ist in dieser Datei: http://developer.apple.com/iphone/library/samplecode/MapCallouts/Introduction/Intro.html

Beantwortet am 03/06/2010 um 02:14
quelle vom benutzer

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