CurrentLocationLayer constructor

CurrentLocationLayer({
  1. Key? key,
  2. LocationMarkerStyle style = const LocationMarkerStyle(),
  3. Stream<LocationMarkerPosition?>? positionStream,
  4. Stream<LocationMarkerHeading?>? headingStream,
  5. FocalPoint? focalPoint,
  6. Stream<double?>? alignPositionStream,
  7. AlignOnUpdate? alignPositionOnUpdate,
  8. Stream<void>? alignDirectionStream,
  9. AlignOnUpdate? alignDirectionOnUpdate,
  10. Duration? alignPositionAnimationDuration,
  11. Curve? alignPositionAnimationCurve,
  12. Duration? alignDirectionAnimationDuration,
  13. Curve? alignDirectionAnimationCurve,
  14. Duration moveAnimationDuration = const Duration(milliseconds: 200),
  15. Curve moveAnimationCurve = Curves.fastOutSlowIn,
  16. Duration rotateAnimationDuration = const Duration(milliseconds: 50),
  17. Curve rotateAnimationCurve = Curves.easeInOut,
  18. LocationMarkerIndicators indicators = const LocationMarkerIndicators(),
  19. @Deprecated("Use 'focalPoint' instead.") Point<double>? followScreenPoint,
  20. @Deprecated("Use 'focalPoint' instead.") Point<double>? followScreenPointOffset,
  21. @Deprecated("Use 'alignPositionStream' instead.") Stream<double?>? followCurrentLocationStream,
  22. @Deprecated("Use 'alignDirectionStream' instead.") Stream<void>? turnHeadingUpLocationStream,
  23. @Deprecated("Use 'alignPositionOnUpdate' instead.") AlignOnUpdate followOnLocationUpdate = AlignOnUpdate.never,
  24. @Deprecated("Use 'alignDirectionOnUpdate' instead.") AlignOnUpdate turnOnHeadingUpdate = AlignOnUpdate.never,
  25. @Deprecated("Use 'alignPositionAnimationDuration' instead.") Duration followAnimationDuration = const Duration(milliseconds: 200),
  26. @Deprecated("Use 'alignPositionAnimationCurve' instead.") Curve followAnimationCurve = Curves.fastOutSlowIn,
  27. @Deprecated("Use 'alignDirectionAnimationDuration' instead.") Duration turnAnimationDuration = const Duration(milliseconds: 50),
  28. @Deprecated("Use 'alignDirectionAnimationCurve' instead.") Curve turnAnimationCurve = Curves.easeInOut,
})

Create a CurrentLocationLayer.

Implementation

CurrentLocationLayer({
  super.key,
  this.style = const LocationMarkerStyle(),
  Stream<LocationMarkerPosition?>? positionStream,
  Stream<LocationMarkerHeading?>? headingStream,
  FocalPoint? focalPoint,
  Stream<double?>? alignPositionStream,
  AlignOnUpdate? alignPositionOnUpdate,
  Stream<void>? alignDirectionStream,
  AlignOnUpdate? alignDirectionOnUpdate,
  Duration? alignPositionAnimationDuration,
  Curve? alignPositionAnimationCurve,
  Duration? alignDirectionAnimationDuration,
  Curve? alignDirectionAnimationCurve,
  this.moveAnimationDuration = const Duration(milliseconds: 200),
  this.moveAnimationCurve = Curves.fastOutSlowIn,
  this.rotateAnimationDuration = const Duration(milliseconds: 50),
  this.rotateAnimationCurve = Curves.easeInOut,
  this.indicators = const LocationMarkerIndicators(),
  @Deprecated("Use 'focalPoint' instead.") Point<double>? followScreenPoint,
  @Deprecated("Use 'focalPoint' instead.")
  Point<double>? followScreenPointOffset,
  @Deprecated("Use 'alignPositionStream' instead.")
  Stream<double?>? followCurrentLocationStream,
  @Deprecated("Use 'alignDirectionStream' instead.")
  Stream<void>? turnHeadingUpLocationStream,
  @Deprecated("Use 'alignPositionOnUpdate' instead.")
  AlignOnUpdate followOnLocationUpdate = AlignOnUpdate.never,
  @Deprecated("Use 'alignDirectionOnUpdate' instead.")
  AlignOnUpdate turnOnHeadingUpdate = AlignOnUpdate.never,
  @Deprecated("Use 'alignPositionAnimationDuration' instead.")
  Duration followAnimationDuration = const Duration(milliseconds: 200),
  @Deprecated("Use 'alignPositionAnimationCurve' instead.")
  Curve followAnimationCurve = Curves.fastOutSlowIn,
  @Deprecated("Use 'alignDirectionAnimationDuration' instead.")
  Duration turnAnimationDuration = const Duration(milliseconds: 50),
  @Deprecated("Use 'alignDirectionAnimationCurve' instead.")
  Curve turnAnimationCurve = Curves.easeInOut,
})  : positionStream = positionStream ?? defaultPositionStream,
      headingStream = headingStream ?? defaultHeadingStream,
      focalPoint = focalPoint ??
          FocalPoint(
            ratio: followScreenPoint ?? const Point<double>(0, 0),
            offset: followScreenPointOffset ?? const Point<double>(0, 0),
          ),
      alignPositionStream =
          alignPositionStream ?? followCurrentLocationStream,
      alignPositionOnUpdate = alignPositionOnUpdate ?? followOnLocationUpdate,
      alignPositionAnimationDuration =
          alignPositionAnimationDuration ?? followAnimationDuration,
      alignPositionAnimationCurve =
          alignPositionAnimationCurve ?? followAnimationCurve,
      alignDirectionStream =
          alignDirectionStream ?? turnHeadingUpLocationStream,
      alignDirectionOnUpdate = alignDirectionOnUpdate ?? turnOnHeadingUpdate,
      alignDirectionAnimationDuration =
          alignDirectionAnimationDuration ?? turnAnimationDuration,
      alignDirectionAnimationCurve =
          alignDirectionAnimationCurve ?? turnAnimationCurve;