In Google Maps for iOS v1.1, there is GMSScreenshot class which can achieve this.
UIImage* image = [GMSScreenshot screenshotOfMainScreen];
This has been removed in v1.2, though, as the map layer can now be captured using the standard graphics context methods. Assuming that GMSMapView is a subview of 'self':
- (UIImage *)captureScreen {
UIGraphicsBeginImageContextWithOptions(self.frame.size, YES, 0.0f);
[self.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return image;
}