iOS如何以编程方式绘制;蓝点“;不确定性半径,比如iOS7地图应用程序?

iOS如何以编程方式绘制;蓝点“;不确定性半径,比如iOS7地图应用程序?,ios,navigation,drawing,mapkit,Ios,Navigation,Drawing,Mapkit,我正在尝试创建一个类似于“地图”应用程序中的“蓝点”的视图。添加中心点很容易,但我感兴趣的是如何在蓝点周围添加内/外发光的“不确定”半径? if(self.blueDot == nil) { self.blueDot = [[UIImageView alloc] initWithFrame:CGRectMake(0,0,30,30)]; self.blueDot.backgroundColor = [UIColor blueColor];

我正在尝试创建一个类似于“地图”应用程序中的“蓝点”的视图。添加中心点很容易,但我感兴趣的是如何在蓝点周围添加内/外发光的“不确定”半径?

 if(self.blueDot == nil)
    {
        self.blueDot = [[UIImageView alloc] initWithFrame:CGRectMake(0,0,30,30)];
        self.blueDot.backgroundColor = [UIColor blueColor];
        self.blueDot.layer.cornerRadius = self.blueDot.bounds.size.width/2.0;

        self.blueDot.layer.borderColor =[UIColor whiteColor].CGColor;
        self.blueDot.layer.borderWidth = 4;
        self.blueDot.userInteractionEnabled = NO;
    }


    if(self.blueDot.superview == nil)
    {
        [self.mapImitationView addSubview:self.blueDot];
    }


我已经在一些可能有用的开源代码中完成了这项工作。但首先,你的问题中不清楚你在谈论哪一个元素。有:

  • 用户位置点(我称之为
    userLocation
    )。图像中的蓝白点

  • GPS精度的指示器(我称之为
    accuracycirleannotation
    )。你的形象中没有这个

  • 脉冲指示器,一旦精度达到足以帮助突出显示用户(我称之为
    trackingHaloAnnotation
    )。这是图像中的蓝色和白色光晕,但该图像来自iOS 6及更早版本

  • 您可以在
    RMMapView
    类中看到所有这些,包括动画,尤其是:

    • 精度圆:

    • 追踪光晕:

    这里唯一需要注意的是,由于它是内置的框架,它是使用
    CALayer
    完成的,而不是直接使用
    UIView

    您可以在此处找到Apple使用的资源,这些资源是从MapKit中提取的,包括:

    希望这有帮助