Привет, у меня следующая проблема!
Я добавляю много оверлеев в мой MKMapView!
Например, я добавляю 150 оверлеев, но почему-то не все они появляются!
Я знаю, что mapView:viewForOverlay:
вызывается 150 раз.
Я обнаружил, что если я добавлю это: [NSThread sleepForTimeInterval:1]
к методу, где создаются все мои наложения, все наложения отображаются.
так может ли быть, что оверлеи добавляются быстро? или в чем может быть проблема?
все наложения создаются в фоновом потоке, как это!
MKPolyline* routeLine;
....
....
dispatch_async(dispatch_get_main_queue(), ^{
[self.myMKMapView addOverlay:routeLine];
});
а это mapView:viewForOverlay:
- (MKOverlayView *)mapView:(MKMapView *)mapView viewForOverlay:(id <MKOverlay>)overlay
{
MKOverlayView* overlayView = nil;
MKPolylineView * rLV = [[[MKPolylineView alloc] initWithPolyline:overlay]autorelease];
rLV.fillColor = [UIColor blueColor];
rLV.strokeColor = [UIColor blueColor];
rLV.lineWidth = 1;
rLV.alpha = 0.5;
overlayView = rLV;
return overlayView;
}