如何在mapbox中拍摄快照ios sdk的完整地图

时间:2015-01-21 06:39:14

标签: ios objective-c mapbox

/ ** @name捕获地图视图的快照* /

/ **拍摄地图视图的快照。 默认情况下,还会捕获包含任何可见注释的叠加层。 @return描绘地图视图的图像。 * /

- (UIImage *)takeSnapshot;

/ **拍摄地图视图的快照。

@param includeOverlay是否包含包含任何可见注释的叠加层。

@return描绘地图视图的图像。 * /

- (UIImage *)takeSnapshotAndIncludeOverlay:(BOOL)includeOverlay;

2 个答案:

答案 0 :(得分:5)

实际上您可以在 RMMapView 中使用名为 takeSnapshot 的方法返回 UIImage ,这样您就可以将它用于任何您想要的地方,这里是一个模糊我的快照的例子

-(UIImage*) performScreenshotAndBlur
{
    UIImage *blurImage = self.mapView.takeSnapshot;
    blurImage = [blurImage applyBlurWithRadius:10 tintColor:[UIColor colorWithRed:0.067 green:0.067 blue:0.067 alpha:0.2] saturationDeltaFactor:1.8 maskImage:nil];
    return blurImage;
}

答案 1 :(得分:1)

这取决于您所处的缩放级别。如果它可能是最远的缩小(从z0-2开始,取决于设备大小),则一侧的世界将是2565121024px。如果它进一步放大,比如说z17的街道级别,则说明图像两侧的2 ^ 17 * 25633,554,432px。这就是绘制平铺地图的原因以及为什么默认情况下不会内置此功能。