如何在完整地图的 mapbox ios sdk 中拍摄快照
how to take snapshot in mapbox ios sdk of full map
/** @name 捕获地图视图的快照 */
/** 拍摄地图视图的快照。
默认情况下,还会捕获包含任何可见注释的叠加层。
@return 描绘地图视图的图像。 */
- (UIImage *)takeSnapshot;
/** 拍摄地图视图的快照。
@param includeOverlay 是否包含包含任何可见注释的叠加层。
@return 描绘地图视图的图像。 */
- (UIImage *)takeSnapshotAndIncludeOverlay:(BOOL)includeOverlay;
这取决于您所处的缩放级别。如果它尽可能地缩小(从 z0-2
的某处,取决于设备大小),世界将是 256
、512
或 1024px
的一侧。如果进一步放大,比如在 z17
处的街道级别,则您在谈论图像每一侧的 2 ^ 17 * 256
或 33,554,432px
。这就是为什么地图是平铺绘制的,也是默认情况下不内置此功能的原因。
实际上,您可以在 RMMapView 和 returns UIImage[ 中使用名为 takeSnapshot 的方法=16=] 所以你可以随心所欲地使用它,这里是一个模糊我的快照的例子
-(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;
}
/** @name 捕获地图视图的快照 */
/** 拍摄地图视图的快照。 默认情况下,还会捕获包含任何可见注释的叠加层。 @return 描绘地图视图的图像。 */
- (UIImage *)takeSnapshot;
/** 拍摄地图视图的快照。
@param includeOverlay 是否包含包含任何可见注释的叠加层。
@return 描绘地图视图的图像。 */
- (UIImage *)takeSnapshotAndIncludeOverlay:(BOOL)includeOverlay;
这取决于您所处的缩放级别。如果它尽可能地缩小(从 z0-2
的某处,取决于设备大小),世界将是 256
、512
或 1024px
的一侧。如果进一步放大,比如在 z17
处的街道级别,则您在谈论图像每一侧的 2 ^ 17 * 256
或 33,554,432px
。这就是为什么地图是平铺绘制的,也是默认情况下不内置此功能的原因。
实际上,您可以在 RMMapView 和 returns UIImage[ 中使用名为 takeSnapshot 的方法=16=] 所以你可以随心所欲地使用它,这里是一个模糊我的快照的例子
-(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;
}