iPhone: Vytvoření MKAnnotation

hlasů
14

Mohu vytvořit MKAnnotation, nebo je to jen pro čtení? Mám souřadnic, ale nemám najít snadno ručně vytvořit MKAnnotations využitím setCoordinate.

Nápady?

Položena 21/05/2010 v 01:09
zdroj uživatelem
V jiných jazycích...                            


3 odpovědí

hlasů
40

MKAnnotation je protokol. Takže je potřeba napsat svůj vlastní poznámky objekt, který implementuje tento protokol. Takže vaše header MyAnnotation vypadá takto:

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

a vaše implementace vypadá (MyAnnotation.m):

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

Takže přidat poznámku na mapu:

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

Pokud jste wan't název a titulky na anotace popisku, je třeba přidat název a vlastnosti titulků.

Odpovězeno 21/05/2010 v 01:21
zdroj uživatelem

hlasů
32

V iPhone OS 4 je nová třída MKPointAnnotation což je konkrétní implementace protokolu MKAnnotation.

Odpovězeno 24/06/2010 v 12:10
zdroj uživatelem

hlasů
9

Zkontrolujte, zda jablko MapCallouts projektu. Vše, co potřebujete, je v tomto souboru: http://developer.apple.com/iphone/library/samplecode/MapCallouts/Introduction/Intro.html

Odpovězeno 03/06/2010 v 02:14
zdroj uživatelem

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