GMSPanoramaView转换为图像

时间:2013-12-20 23:20:04

标签: ios google-maps google-street-view

如何将街景视图(GMSPanoramaView)转换为图片?我对普通的地图视图没有任何问题。这是我用于地图的代码:

UIGraphicsBeginImageContext(self.view.frame.size);
[self.view.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *mapImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
SaveMapForSyllabus *SMFSVC = [segue destinationViewController];
SMFSVC.image = mapImage;

制作图像后,我将其传递给另一个保存图像的View Controller。此外,它还保存了一些图像,但它只有灰色/黑色视图,带有Google徽标等,如标准地图/街景视图所示。它丢失了全景。

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题。我无法弄清楚如何将其转换为图像,所以最终我想出了一个make shift解决方案。我希望能够在UITAbleView单元格中将这些视图显示为缩略图。

问题是您无法将GMSPanoramaView分配给cell.imageview.image媒体资源。虽然这可能无法直接回答您的问题,但这个解决方案是一个可行的解决方案,我希望它能为您提供帮助。我只是决定用UITableViewcell覆盖GMSPanoramaView的图像,将其约束和帧设置为相同,将其作为子视图添加到单元格。这是我的代码。这一切都发生在- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath委托方法中:

cell.imageView.image = [UIImage imageNamed:@"NoImageAvailable"];

// Is this an actual UIImage or not?  If not, in my case it is a GMSPanoramaView
if ([[tableItem mapImage] isKindOfClass:[UIImage class]]) {

}else{
    // this will overlay over the no image available because we need
    // the image to stay there to enforce constraints since this view
    // isn't a true image and is just overlaying the cell image
    CGRect frame = cell.imageView.frame;
    UIView *viewToAdd =(UIView*)[tableItem mapImage];
    viewToAdd.frame = frame;
    NSArray* contraints = cell.imageView.constraints;
    [viewToAdd addConstraints:contraints];
    [cell addSubview:viewToAdd];
}