を作成できますかMKAnnotation
、それとも読み取り専用ですか?MKAnnotation
座標はありますが、を使用して手動でwithを作成するのは簡単ではありませんsetCoordinate
。
アイデア?
を作成できますかMKAnnotation
、それとも読み取り専用ですか?MKAnnotation
座標はありますが、を使用して手動でwithを作成するのは簡単ではありませんsetCoordinate
。
アイデア?
MKAnnotationはプロトコルです。したがって、このプロトコルを実装する独自の注釈オブジェクトを作成する必要があります。したがって、MyAnnotationヘッダーは次のようになります。
@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;
実装は(MyAnnotation.m)のようになります。
- (id) initWithCoordinate:(CLLocationCoordinate2D)coord
{
coordinate = coord;
return self;
}
したがって、注釈をマップに追加するには、次のようにします。
MyAnnotation * annotation = [[[MyAnnotation alloc] initWithCoordinate:coordinate] autorelease];
[self.mapView addAnnotation:annotation];
注釈コールアウトにタイトルとサブタイトルを付けたくない場合は、タイトルとサブタイトルのプロパティを追加する必要があります。
iPhone OS 4には、MKAnnotationプロトコルの具体的な実装である新しいクラスMKPointAnnotationがあります。
アップルのMapCalloutsプロジェクトを確認してください。必要なものはすべてそのファイルにあります:http: //developer.apple.com/iphone/library/samplecode/MapCallouts/Introduction/Intro.html