fromRotationSensorHeadingStream method
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) {
try {
return LocationMarkerHeading(
heading: e.eulerAngles.azimuth,
accuracy: e.accuracy >= 0
? degToRadian(e.accuracy).clamp(minAccuracy, maxAccuracy)
: defAccuracy,
);
} on ArgumentException catch (error, stack) {
log(
'Invalid LocationMarkerHeading',
level: 900,
error: error,
stackTrace: stack,
);
return null;
}
});