4

centerOffsetズームレベルが変更されたときにのプロパティを変更する必要がありますAnnotationView。削除して再度追加したくありませんAnnotations

AnnotationViewsでは、ズーム後にアクセスして更新するにはどうすればよいですか?

これについて何かアイデアはありますか?

よろしく、クリスチャン

4

1 に答える 1

4

MKMapView1 つの解決策は、次のメソッドを使用することです。

- (NSSet *)annotationsInMapRect:(MKMapRect)mapRect // iOS4.2+ only!

表示されている注釈を取得するには、次を使用します。

- (MKAnnotationView *)viewForAnnotation:(id<MKAnnotation>)annotation;

対応するビューを取得するには (最初の関数が正しく機能する場合、nil を返すべきではありません)

次に、変更centerOffsetすることで仕事ができると思います(さらに-[UIView setNeedsDisplay/Layout]、再描画を強制するものもあります)

zoomLevel に応じて centerOffset を変更するのは奇妙に聞こえますが、理由があると思います:)

于 2011-04-22T15:16:22.737 に答える