小编Mat*_*uez的帖子

在MKMapView上添加带有模糊效果的圆圈

我正在尝试在地图上的叠加层上添加模糊效果.我实际上需要在地图上的圆圈上模糊效果,我用来获得它的方法并不重要.

我有一个扩展的类,MKCircleRenderer我想在它覆盖的地图上添加模糊效果.

我正在尝试使用这种-fillPath:inContext:方法,但我对Core Graphics和Core Image的无知导致我无处可去,我真的对这个问题感到很遗憾.

我的尝试是使用CIFilter和为此我需要一个CIImage我试图从上下文创建.但是我发现没有办法创造CGBitmapContext,CGImage也不是从上下文的任何其他类.我试过的任何方法都会产生NULL而没有关于原因的进一步细节.我不记得所有我尝试过的所以我很抱歉没有指出任何相关的内容.

我的类目前实现了一个做得不多的方法:

- (instancetype)initWithOverlay:(id<MKOverlay>)overlay {
    if (self = [super initWithOverlay:overlay]) {
        self.strokeColor = [UIColor colorWithRed:0.0 green:0.0 blue:0.0 alpha:1];
        self.fillColor = [UIColor colorWithRed:0.4 green:0.2 blue:0.2 alpha:0.1];
        self.lineWidth = 1;
    }
    return self;
}
Run Code Online (Sandbox Code Playgroud)

另一种方法是使用自定义,MKAnnotation并在视图上添加模糊效果UIVisualEffectView.这种方法的难点在于缩放时增大/减小尺寸.

这应该适用于iOS 8+

编辑

在这种情况下,圆圈内部的地图应该模糊

core-graphics core-image mapkit mkmapview ios

13
推荐指数
1
解决办法
817
查看次数

标签 统计

core-graphics ×1

core-image ×1

ios ×1

mapkit ×1

mkmapview ×1