マップ上の注釈用のカスタム注釈ビューを作成しようとしています。私はプロトコルMKMapViewDelegate
を適応させ、関数を上書きすることでそれを行っていますmapView:viewForAnnotation:
。それはすべて機能しますが、唯一の問題は、私も にshowsUserLocation
設定してTRUE
いることです。つまり、メソッドで取得する「注釈」の 1 つmapView:viewForAnnotation:
が classMKUserLocation
です。
ユーザー位置注釈にカスタム注釈ビューを持たせたくありません。デフォルトのユーザー位置注釈ビューを表示したいのです! ユーザーロケーションのデフォルトのユーザーロケーションアノテーションビューを返す、またはアノテーションから除外するにはどうすればよいmapView:viewForAnnotation:
ですか?
メソッドでUserLocation をキャッチしようとしましたが、mapView:viewForAnnotation:
何を返せばよいかわかりません。(この例では、標準の MKAnnotationView を返していますが、それはデフォルトの UserLocation Annotation のようには見えません(明らかに)。)
if (![[annotation class] isEqual:[MKUserLocation class]]) {
MKAnnotationView *view = [[MKAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:@"customAnnotation"];
// edit the custom view
return view;
}
MKAnnotationView *view = [[MKAnnotationView alloc] init];
return view;