【发布时间】:2011-08-31 16:33:57
【问题描述】:
您好,我有以下问题!
我确实在我的 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;
}
【问题讨论】:
标签: iphone objective-c mkmapview overlay mkoverlay