Authored by Justin R. Miller

ensure halo animations copied after they are available

... ... @@ -3077,9 +3077,6 @@
UIViewAutoresizingFlexibleTopMargin |
UIViewAutoresizingFlexibleBottomMargin;
for (NSString *animationKey in _trackingHaloAnnotation.layer.animationKeys)
[_userHaloTrackingView.layer addAnimation:[[[_trackingHaloAnnotation.layer animationForKey:animationKey] copy] autorelease] forKey:animationKey];
[self insertSubview:_userHaloTrackingView belowSubview:_overlayView];
_userHeadingTrackingView = [[UIImageView alloc] initWithImage:[RMMapView resourceImageNamed:@"HeadingAngleSmall.png"]];
... ... @@ -3269,8 +3266,16 @@
_trackingHaloAnnotation.layer.hidden = ( ! CLLocationCoordinate2DIsValid(self.userLocation.coordinate) || newLocation.horizontalAccuracy > 10 || self.userTrackingMode == RMUserTrackingModeFollowWithHeading || self.userLocation.hasCustomLayer);
if (_userHaloTrackingView)
{
_userHaloTrackingView.hidden = ( ! CLLocationCoordinate2DIsValid(self.userLocation.coordinate) || newLocation.horizontalAccuracy > 10 || self.userLocation.hasCustomLayer);
// ensure animations are copied from layer
//
if ( ! [_userHaloTrackingView.layer.animationKeys count])
for (NSString *animationKey in _trackingHaloAnnotation.layer.animationKeys)
[_userHaloTrackingView.layer addAnimation:[[[_trackingHaloAnnotation.layer animationForKey:animationKey] copy] autorelease] forKey:animationKey];
}
if ( ! [_annotations containsObject:self.userLocation])
[self addAnnotation:self.userLocation];
}
... ...