マップ上の注釈用のカスタム注釈ビューを作成しようとしています。私はプロトコル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;