MKCircles
MapKitを使ってたくさん表示しようとしています。MKCircle <MKOverlay>
これまでのところ、Circle というクラスを拡張してきました。circleView という読み取り専用のプロパティがあります。ゲッターで、MKCircleView
.
-(MKCircleView *)circleView {
if(!_circleView){
_circleView = [[MKCircleView alloc] initWithOverlay:self];
[_circleView setFillColor:self.color];
}
return _circleView;
}
次に、マップで次のようにします。
- (MKOverlayView *)mapView:(MKMapView *)mapView
viewForOverlay:(id<MKOverlay>)overlay {
if ([overlay isKindOfClass:Circle.class]) {
Circle *region = overlay;
return [region circleView];
}
return nil;
}
これらのサークルをサーバーから読み込んでいますが、複数のサークル (1 つの地域に 1k を超える表示) を持つことができます。
UIの反応が悪い気がします。サーバーからのキャッシュに円がある場合でも、それらを再描画するのに時間がかかり、領域を移動するのは苦痛になる可能性があります。このパフォーマンスを改善する方法はありますか?
編集
必要な数の円を表示していることを発見しましたが、それでも非常に遅いです。