不切换视图的iPhone地图屏幕截图

不切换视图的iPhone地图屏幕截图,iphone,mapkit,screenshot,Iphone,Mapkit,Screenshot,我正在开发一个应用程序,在这个应用程序中,我希望拍摄一张地图截图,记录一个人在执行操作时的位置,然后以报告的形式发送回服务器。我不想让人看到地图弹出,而截图正在采取和用户应该忘记截图,直到他们审查报告 我已研究过以下问题: 但是为了截图,他们正在使地图可见 谢谢您的时间。如果理解正确,您在某处有一个视图,您不希望它出现在屏幕上,但您希望捕获它的图像 UIGraphicsBeginImageContextWithOptions(mapView.bounds.size,mapView.alpha

我正在开发一个应用程序,在这个应用程序中,我希望拍摄一张地图截图,记录一个人在执行操作时的位置,然后以报告的形式发送回服务器。我不想让人看到地图弹出,而截图正在采取和用户应该忘记截图,直到他们审查报告

我已研究过以下问题:

但是为了截图,他们正在使地图可见


谢谢您的时间。

如果理解正确,您在某处有一个视图,您不希望它出现在屏幕上,但您希望捕获它的图像

 UIGraphicsBeginImageContextWithOptions(mapView.bounds.size,mapView.alpha, mapView.contentScaleFactor);
            CGContextRef context = UIGraphicsGetCurrentContext();
            mapView.backgroundColor = [UIColor whiteColor];
            [mapView.layer renderInContext:context];
            UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
            UIGraphicsEndImageContext();

你为什么不直接记录真实的位置?你需要真实的图像吗?@jtbandes:我可以(而且正在)记录这个人的位置,但我想这样做,当用户访问报告时,他们可以了解报告的目的地,我想避免让服务器制作地图(因为报表应该与几种不同的服务类型兼容,而且它们可能都无法访问地图渲染工具,但可以访问图像显示工具)。@TommyG:是的,因为我不能保证用于存储/显示报表的服务可以根据用户的位置渲染地图。数据可以是历史数据(在初次报告编制数年后引用),因此,如果该区域发生变化(新道路或建筑物已修建),此时呈现的映射将不包含历史数据,并且具有不同的上下文。遗憾的是,这不起作用。代码按原样生成大小为0字节的图像。将其修改为包含:UIGraphicsBeginImageContext(大小);而是生成屏幕大小的空白图像。