1

MKMapView から画像を取得して、「サムネイル」画像として UITableViewCell に追加しようとしています。問題は、イメージが正しいマップではなく単色としてレンダリングされることです。MKMapView をテスト目的でビューに直接追加したところ、正しく読み込まれました。

cellForRowAtIndexPath のコードを次に示します。

//create correct map thumbnail
    MKMapView *mapForThumbnail = [[MKMapView alloc] init];
    mapForThumbnail.frame = CGRectMake(0, 0, 100, 100);
    mapForThumbnail.delegate = self;

    CLLocationCoordinate2D coords[coordinates.count];
    for(int i = 0; i < coordinates.count; i++){
        CLLocation *currentLocationCoords = [coordinates objectAtIndex:i];
        coords[i] = CLLocationCoordinate2DMake(currentLocationCoords.coordinate.latitude, currentLocationCoords.coordinate.longitude);

    }//end for

    MKPolyline *polylineForMapThumbnail = [MKPolyline polylineWithCoordinates:coords count:coordinates.count];
    [mapForThumbnail addOverlay:polylineForMapThumbnail];
    [mapForThumbnail setRegion:MKCoordinateRegionForMapRect([polylineForMapThumbnail boundingMapRect])];

    UIGraphicsBeginImageContextWithOptions(CGSizeMake(100, 100), NO, 0.0);
    CGContextRef currentContext = UIGraphicsGetCurrentContext();
    [mapForThumbnail.layer renderInContext:currentContext];
    UIImage *mapImage = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
 cell.imageView.image = mapImage;
    cell.detailTextLabel.text = stringForDetailLabel;
    cell.detailTextLabel.font = [UIFont fontWithName:@"Verdana" size:12.0f];
    cell.detailTextLabel.textColor = [UIColor darkGrayColor];

これが何が起こっているかの画像です:

問題

4

0 に答える 0