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?
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?
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.
W iPhone OS 4 jest nowa klasa MKPointAnnotation która jest konkretna realizacja protokołu MKAnnotation.
Sprawdzić projekt jabłko MapCallouts. Wszystko, co potrzebne jest w tym pliku: http://developer.apple.com/iphone/library/samplecode/MapCallouts/Introduction/Intro.html