Я тестировал на iPad с кодом ниже.
Если я добавлю MyOverlay, как показано ниже, загрузка фрагментов карты по умолчанию в MKMapView замедлится, даже если ничего не делать в drawMapRect.
И если я удалю MyOverlay из MKMapView, загрузка листов карты по умолчанию снова станет быстрой.
Интересно, что делается в фоновом режиме, когда вызывается drawMapRect.
Или приведенный ниже код имеет какие-либо проблемы с производительностью?
[код]
@implementation MyOverlay
-(id) init
{
self = [super init];
boundingMapRect = MKMapRectWorld;
boundingMapRect.origin.x += 1048600.0;
boundingMapRect.origin.y += 1048600.0;
coordinate = CLLocationCoordinate2DMake(0, 0);
return self;
}
...
@end
@implementation MyOverlayView
- (id) initWithOverlay:(id<MKOverlay>)overlay
{
self = [super initWithOverlay:overlay];
...
return self;
}
- (BOOL) canDrawMapRect:(MKMapRect) sm zoomScale:(MKZoomScale)zoomScale
{
return true;
}
- (void)drawMapRect:(MKMapRect)mapRect zoomScale:(MKZoomScale)zoomScale inContext: CGContextRef)context
{
return; // do nothing, but map loading become slower 'much'.
}
@end