AnilocationTaskImpl constructor
AnilocationTaskImpl({
- required AnilocationTaskDescription description,
Implementation
AnilocationTaskImpl({required this.description}) {
_locationTween = LocationTween(
interpolator: LineLocationInterpolatorImpl(
begin: description.begin.copyWith(markerId: description.markerId),
end: description.end.copyWith(markerId: description.markerId),
),
);
_isActiveTrip = description.isActiveTrip;
_useRotation = description.useRotation;
_locationCtrller = AnimationController(vsync: description.vsync, duration: description.duration);
_bearingTween = BearingTween.from(_locationTween);
_bearingCtrller = AnimationController(vsync: description.vsync, duration: description.duration);
_bearingAnimation = _bearingTween.curvedAnimate(
controller: _bearingCtrller,
curve: description.curve,
);
_rippleCtrller = AnimationController(
vsync: description.vsync,
duration: description.rippleDuration,
)
..addStatusListener(rippleStatusListener)
..addListener(rippleListener);
_radiusTween = Tween<double>(begin: 0, end: description.rippleRadius);
_radiusAnimation = _radiusTween.curvedAnimate(curve: Curves.linear, controller: _rippleCtrller);
_colorAnimation = ColorTween(
begin: description.rippleColor.withOpacity(1.0),
end: description.rippleColor.withOpacity(0.0),
).curvedAnimate(curve: Curves.ease, controller: _rippleCtrller);
_locationCtrller.addListener(_locationListener);
_locationCtrller.addStatusListener(_statusListener);
_locationAnimation = _locationTween.curvedAnimate(
controller: _locationCtrller,
curve: description.curve,
);
_proxyAnim = ProxyAnimationGeneric<ILatLng>(_locationAnimation);
if (_locationTween.isRipple) _rippleCtrller.forward(from: 0);
}