2013-12-20 30 views
0

如何將街景(GMSPanoramaView)轉換爲圖像?我在正常的地圖視圖中沒有任何問題。這裏是我用於地圖的代碼:GMSPanoramaView轉換爲圖像

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

使圖像後,我將它傳遞到另一個視圖控制器圖像保存。它也保存了一些圖片,但它只有灰色/黑色視圖,帶有谷歌徽標等,如標準地圖/街景視圖中所示。它丟失了那個全景的地方。

+0

這是當我使用的是1.6.1版本的谷歌地圖,而不是目前的1.4.3工作。但只有1.4.3支持需要的iOS5。 –

回答

0

我遇到了同樣的問題。我無法弄清楚如何將其轉換爲圖像,所以最終我想出了一個製作轉換解決方案。我希望能夠將這些視圖顯示爲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]; 
}