0

我正在尝试以编程方式截取 ArcGIS 地图视图的屏幕截图。我还没有在 ArcGIS 库中看到任何可以简化此操作的代码。我真的在尝试创建地图视图的 UIImage,包括当前正在显示的任何要素图层。我尝试对 arcgisMapView 和包含 arcgisMapView 的超级视图使用 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);

请帮助和感谢。

4

1 回答 1

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

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

于 2017-03-10T05:22:35.207 回答