私のアプリでは、マップビューに注釈を追加および削除していますが、実際には、最初に新しい注釈を追加してから古い注釈を削除しても、注釈が点滅します。
新しい注釈はインターネットから受信されるため、新しい注釈の配列からそれらを削除することはできません...
私の質問は、どのようにしてまばたき動作になるのか、そしてこれをどのように回避できるのかということです。
注釈を繰り返してそれぞれの場所を比較したくないので、削除を遅らせようとしましたが、最終的には0.2秒になりました。まさにこの遅延では、目に見えるまばたきはありませんが、これはまったく望ましくありません。
ありがとう
NSMutableArray *annotationsToRemove = [[NSMutableArray alloc] initWithArray:[_mapView annotations]];
[annotationsToRemove removeObject:[_mapView userLocation]];
[_mapView addAnnotations:locations];
// [_mapView performSelector:@selector(removeAnnotations:) withObject:annotationsToRemove afterDelay:0.2];
[_mapView removeAnnotations:annotationsToRemove];
(「場所」は私の新しい注釈の配列です)