以编程方式为iOS提供ArcGIS Map View的屏幕截图

时间:2017-03-10 01:31:17

标签: ios objective-c dictionary arcgis arcgis-runtime

我正在尝试以编程方式截取ArcGIS地图视图。我没有在ArcGIS库中看到任何代码来简化这一过程。我真的想创建一个地图视图的UIImage,包括当前正在显示的任何要素图层。我尝试在arcgisMapView和包含arcgisMapView的superview上使用UIGraphicsBeginImageContext,但两次尝试都返回arcgisMapView区域的空白视图。

UIGraphicsBeginImageContext(self.view.bounds.size);
[self.view.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *mapImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
UIImageWriteToSavedPhotosAlbum(mapImage, nil, nil, nil);

UIGraphicsBeginImageContext(arcgisMapView.bounds.size);
[arcgisMapView.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *mapImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
UIImageWriteToSavedPhotosAlbum(mapImage, nil, nil, nil);

请帮助和谢谢。

1 个答案:

答案 0 :(得分:0)

使用exportImageWithCompletion:

https://developers.arcgis.com/ios/latest/swift/sample-code/take-screenshot.htm

样本来源。

https://github.com/Esri/arcgis-runtime-samples-ios/tree/master/arcgis-ios-sdk-samples/Maps/Take%20screenshot

猜猜ArcGIS使用另一个自定义图层,而不只是self.view.layer