0
안녕하세요 저는 다음과 같은 문제가 있습니다! MKMapView에 많은 오버레이를 추가합니다! 예를 들어, 150 오버레이를 추가했지만 어떤 이유로 모든 것이 표시되지 않습니다! 나는 mapView:viewForOverlay:
이 150 번 호출된다는 것을 안다. 만약 내가 이것을 추가하면 : 내 모든 오버레이가 생성되는 모든 오버레이가 나타나는 메소드에 [NSThread sleepForTimeInterval:1]
이 나타납니다. 오버레이가 빠르게 추가 될 수 있습니까? 또는 무엇이 문제 일 수 있습니까?MKMapView에 오버레이를 추가하여 빠르게! 그게 가능한가?
모든 오버레이는 이와 같이 백그라운드 스레드에서 생성됩니다!
MKPolyline* routeLine;
....
....
dispatch_async(dispatch_get_main_queue(), ^{
[self.myMKMapView addOverlay:routeLine];
});
및이와 addOverlays:
메서드를 호출 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;
}