如何采取全图的mapbox IOS SDK
问题描述:
/** @name捕捉地图视图的快照快照*/如何采取全图的mapbox IOS SDK
/**就拿地图视图的快照。 默认情况下,还会捕获包含任何可见注释的叠加层。 @return描绘地图视图的图像。 */
- (UIImage *)takeSnapshot;
/**拍一张地图视图的快照。
@param includeOverlay是否包含包含任何可见注释的覆盖图。
@return描绘地图视图的图像。 */
- (UIImage *)takeSnapshotAndIncludeOverlay:(BOOL)includeOverlay;
答
这取决于您处于哪个缩放级别。如果它可能最远处放大(取决于设备大小,则取自z0-2
),则世界将为256
,512
或1024px
。如果放大得更远,说到街道级别z17
,那么您在图像的每一边都会谈到2^17 * 256
或33,554,432px
。这就是地图绘制平铺的原因,以及为什么默认情况下没有内置此功能。
答
其实你可以在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;
}
+0
是的,但图像大小超过屏幕,所以隐藏的地图不显示在屏幕截图中。我想获取完整的地图快照...........这是隐藏在滚动查看...... – 2015-01-27 05:48:20
这种方法只采取可见的屏幕快照,但我需要全地图快照........ – 2015-01-21 07:21:47