tick method

void tick()

Implementation

void tick() {
  _animationController.forward();

  _animationController.addListener(() {
    _currentDistance += _speed;
    // interpolate between previous to current distance

    final currentPosition =
        _polyline.coordinateFromStart(_animationController.value);
    final currentLatLng = LatLng(
        currentPosition.geometry?.coordinates.lat.toDouble() ?? 0,
        currentPosition.geometry?.coordinates.lng.toDouble() ?? 0);

    _onLocationChange?.call(currentLatLng);
    emit(currentPosition);
    previousLatLng = currentLatLng;
    if (_currentDistance > _polyline.totalDistance) {
      reset();
      return;
    }
  });
}