iPhone: Tworzenie MKAnnotation

głosy
14

Mogę stworzyć MKAnnotation, czy jest to tylko do odczytu? Mam współrzędne, ale nie jestem łatwe do znalezienia go ręcznie utworzyć MKAnnotationz użyciem setCoordinate.

Pomysły?

Utwórz 21/05/2010 o 01:09
źródło użytkownik
W innych językach...                            


3 odpowiedzi

głosy
40

MKAnnotation jest protokołem. Więc trzeba napisać swój własny obiekt adnotacji, która implementuje ten protokół. Więc twój nagłówek MyAnnotation wygląda następująco:

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

i implementacja wygląda (MyAnnotation.m):

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

Więc, aby dodać adnotację na mapie:

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

Jeśli wa tytuł i napisów na objaśnieniu adnotacji, trzeba dodać tytuł i właściwości napisów.

Odpowiedział 21/05/2010 o 01:21
źródło użytkownik

głosy
32

W iPhone OS 4 jest nowa klasa MKPointAnnotation która jest konkretna realizacja protokołu MKAnnotation.

Odpowiedział 24/06/2010 o 12:10
źródło użytkownik

głosy
9

Sprawdzić projekt jabłko MapCallouts. Wszystko, co potrzebne jest w tym pliku: http://developer.apple.com/iphone/library/samplecode/MapCallouts/Introduction/Intro.html

Odpowiedział 03/06/2010 o 02:14
źródło użytkownik

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