如何将街景视图(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徽标等,如标准地图/街景视图所示。它丢失了全景。
答案 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];
}