MKMapViewに表示されているコールアウトを変更したいと思います。私はselectAnnotationはコールアウトを表示しません
[self.mapView selectAnnotation:annotation animated:YES];
を呼び出すときには、注釈にマップをパンが、その吹き出しを表示しません。コールアウトを表示するにはどうすればよいですか?
MKMapViewに表示されているコールアウトを変更したいと思います。私はselectAnnotationはコールアウトを表示しません
[self.mapView selectAnnotation:annotation animated:YES];
を呼び出すときには、注釈にマップをパンが、その吹き出しを表示しません。コールアウトを表示するにはどうすればよいですか?
アノテーションオブジェクトのtitle
、およびオプションでsubtitle
プロパティを設定します。 MapKitは自動的にコールアウトを表示します。
@interface MyAnnotation : NSObject <MKAnnotation> {
NSString *title;
NSString *subtitle;
}
@property (nonatomic, copy) NSString *title;
@property (nonatomic, copy) NSString *subtitle;
@end
と実装
、#import "MyAnnotation.h"
@implementation MyAnnotation
@synthesize title, subtitle;
@end
使用法、
MyAnnotation *foo = [[MyAnnotation alloc] init];
foo.title = @"I am Foo";
foo.subtitle = "I am jus' a subtitle";
あなたが実装する必要が動作しませんでしたMKAnnotationデリゲートメソッド
-(MKAnnotationView *)mapView:(MKMapView *)_mapView viewForAnnotation:(id<MKAnnotation>)annotation
{
static NSString *AnnotationViewIdentifier = @"AnnotationViewIdentifier";
MKPinAnnotationView *annotationView = (MKPinAnnotationView *)[_mapView dequeueReusableAnnotationViewWithIdentifier:AnnotationViewIdentifier];
if (annotationView == nil)
{
annotationView = [[[MKPinAnnotationView alloc]initWithAnnotation:annotation reuseIdentifier:AnnotationViewIdentifier]autorelease];
}
annotationView.canShowCallout = YES;
return annotationView;
}
(私の注釈があることに注意してください私のクラスはMKAnnotationをサブクラス化しています。タイトルのための私自身のゲッター。私はタイトルを設定する方法を提案しましたか? – user605957
あなたのカスタムクラスは、プロトコル 'MKAnnotation'を実装する必要があります。クラスに 'title'と' subtitle'のプロパティを追加してください。完全な例を追加します。 – Anurag