Я пытаюсь добавить изображение png в качестве настраиваемой карты с помощью MKOverlayView. Я почти готов - я могу расположить изображение в нужном месте, и я знаю, что метод -drawMapRect: в подклассе MKOverlayView вызывается периодически; Кажется, я просто не могу правильно отрисовать изображение. Это совершенно размыто, почти до неузнаваемости. Я также знаю, что изображение достаточно большое (это 1936 × 2967). Вот мой код для -drawMapRect:
- (void)drawMapRect:(MKMapRect)mapRect zoomScale:(MKZoomScale)zoomScale inContext:(CGContextRef)context{
// Load image from applicaiton bundle
NSString* imageFileName = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"map.jpg"];
CGDataProviderRef provider = CGDataProviderCreateWithFilename([imageFileName UTF8String]);
CGImageRef image = CGImageCreateWithJPEGDataProvider(provider, NULL, true, kCGRenderingIntentDefault);
CGDataProviderRelease(provider);
// save context before screwing with it
CGContextSaveGState(context);
CGContextScaleCTM(context, 1.0, -1.0);
CGContextSetAlpha(context, 1.0);
// get the overlay bounds
MKMapRect theMapRect = [self.overlay boundingMapRect];
CGRect theRect = [self rectForMapRect:theMapRect];
// Draw image
CGContextDrawImage(context, theRect, image);
CGImageRelease(image);
CGContextRestoreGState(context);
Кто-нибудь знает, что происходит?
Спасибо! -Матт