fromRotationSensorHeadingStream method

Stream<LocationMarkerHeading?> fromRotationSensorHeadingStream({
  1. Stream<OrientationEvent>? stream,
  2. double minAccuracy = pi * 0.1,
  3. double defAccuracy = pi * 0.3,
  4. double maxAccuracy = pi * 0.4,
})

Cast to a heading stream from flutter_rotation_sensor stream.

Implementation

Stream<LocationMarkerHeading?> fromRotationSensorHeadingStream({
  Stream<OrientationEvent>? stream,
  double minAccuracy = pi * 0.1,
  double defAccuracy = pi * 0.3,
  double maxAccuracy = pi * 0.4,
}) =>
    (stream ?? defaultHeadingStreamSource()).map(
      (e) => LocationMarkerHeading(
        heading: e.eulerAngles.azimuth,
        accuracy: e.accuracy >= 0
            ? degToRadian(e.accuracy).clamp(minAccuracy, maxAccuracy)
            : defAccuracy,
      ),
    );