Ios 创建动画位置标记

Ios 创建动画位置标记,ios,iphone,location,core-animation,ibeacon,Ios,Iphone,Location,Core Animation,Ibeacon,我怎样才能,也很容易,创建一个可以放在UIImage顶部的位置标记。我有一个平面图,并确定用户在哪里使用iBeacons。我想在用户站在附近的信标位置上设置一个位置标记的动画,类似于地图上的位置标记 有什么建议吗?理想情况下,它将是一个圆圈,不断扩大,并逐渐消失。我只是没有动画方面的经验,也没有最好的方法 提前谢谢 [编辑:] 这是(原型)视图的屏幕截图,因此我希望在其中一个标签上显示动画 我做了一个类似这样的演示。我在信标位置绘制了一个蓝色圆圈,其中一个浅蓝色圆圈的半径根据从信标到移动设备的估

我怎样才能,也很容易,创建一个可以放在UIImage顶部的位置标记。我有一个平面图,并确定用户在哪里使用iBeacons。我想在用户站在附近的信标位置上设置一个位置标记的动画,类似于地图上的位置标记

有什么建议吗?理想情况下,它将是一个圆圈,不断扩大,并逐渐消失。我只是没有动画方面的经验,也没有最好的方法

提前谢谢

[编辑:] 这是(原型)视图的屏幕截图,因此我希望在其中一个标签上显示动画


我做了一个类似这样的演示。我在信标位置绘制了一个蓝色圆圈,其中一个浅蓝色圆圈的半径根据从信标到移动设备的估计距离而变化。下面是一个小屏幕截图,显示了效果(浅蓝色正方形是地图上描绘的附近对象):

绘制此图的代码以米为单位获取到信标的估计距离,并根据地图的比例通过半径乘数进行调整。centerX和centerY参数指示点在屏幕上的打印位置:

-(void)setDistance: (double) distance centerX: (int) pixelCenterX centerY: (int) pixelCenterY radiusMultiplier: (double) radiusMultiplier {
    // distance is in meters
    if (distance < 0) {
        NSLog(@"Not setting distance because it is < 0");
        return;
    }
    int pixelRadius = distance*22*radiusMultiplier;
    if (pixelRadius > 160) {
        pixelRadius = 160;
    }
    if (pixelRadius < 14) {
        pixelRadius = 14;
    }

    NSLog(@"Changing radius of circle to %d", pixelRadius);
    if (_circle == Nil) {
        _circle = [[NASClickBehindView alloc] init];
        _circle.backgroundColor = [UIColor blueColor];
        _circle.alpha = 0.2;
        [_circle setFrame:CGRectMake(pixelCenterX-pixelRadius,pixelCenterY-pixelRadius,pixelRadius*2,pixelRadius*2)];
        [self.webView addSubview:_circle];
        _circle.tag = 100;
    }
    else {
        [_circle setFrame:CGRectMake(pixelCenterX-pixelRadius,pixelCenterY-pixelRadius,pixelRadius*2,pixelRadius*2)];
    }

    _circle.layer.cornerRadius = pixelRadius;

    if (_centerDot == Nil) {
        _centerDot = [[NASClickBehindView alloc] init];
        _centerDot.alpha = 0.9;
        _centerDot.layer.cornerRadius = 8;
        _centerDot.backgroundColor = [UIColor blueColor];
        [_centerDot setFrame:CGRectMake(pixelCenterX-8,pixelCenterY-8,16,16)];
        [self.webView addSubview:_centerDot];
        _centerDot.tag = 100;
    }
    else {
        [_centerDot setFrame:CGRectMake(pixelCenterX-8,pixelCenterY-8,16,16)];
    }
}
-(void)setDistance:(double)distance centerX:(int)pixelCenterX centerY:(int)pixelCenterY radius乘数:(double)radius乘数{
//距离以米为单位
如果(距离<0){
NSLog(@“未设置距离,因为它小于0”);
返回;
}
int pixelRadius=距离*22*半径乘数;
如果(像素半径>160){
像素半径=160;
}
如果(像素半径<14){
像素半径=14;
}
NSLog(@“将圆半径更改为%d”,像素半径);
如果(_圆==Nil){
_圆圈=[[NASClickBehindView alloc]init];
_circle.backgroundColor=[UIColor blueColor];
_圆α=0.2;
[_circlesetframe:CGRectMake(像素中心x像素半径、像素中心像素半径、像素半径*2、像素半径*2)];
[self.webView addSubview:_circle];
_circle.tag=100;
}
否则{
[_circlesetframe:CGRectMake(像素中心x像素半径、像素中心像素半径、像素半径*2、像素半径*2)];
}
_circle.layer.cornerRadius=像素半径;
如果(_centerDot==Nil){
_centerDot=[[NASClickBehindView alloc]init];
_中心点α=0.9;
_centerDot.layer.cornerRadius=8;
_centerDot.backgroundColor=[UIColor blueColor];
[_centerdotsetframe:CGRectMake(pixelCenterX-8,pixelCenterY-8,16,16)];
[self.webView addSubview:_centerDot];
_centerDot.tag=100;
}
否则{
[_centerdotsetframe:CGRectMake(pixelCenterX-8,pixelCenterY-8,16,16)];
}
}

你能发布图片让我们很容易理解吗?我添加了应用程序的屏幕截图。你能给我一个_circle和_centerDot的声明吗?只是一个小小的补充。然后,只需使用正常大小变换和动画功能(每x秒触发一次),就可以非常轻松地设置动画。