positionStream method

  1. @override
Stream<Position> positionStream({
  1. LocationAccuracy accuracy = LocationAccuracy.high,
  2. double distanceFilter = 0,
  3. Duration interval = const Duration(seconds: 5),
  4. PositionFilters? filters,
  5. BackgroundLocation? background,
})
override

Fixes as they arrive. Broadcast; the native subscription is shared with every other listener and stops with the last one.

The stream never errors and never ends on its own: when location services go off, permission changes or the app goes to the background, it pauses and statusStream says why; it resumes on its own.

With background, it keeps running in the background instead — see BackgroundLocation for what the app must declare.

Implementation

@override
Stream<Position> positionStream({
  LocationAccuracy accuracy = LocationAccuracy.high,
  double distanceFilter = 0,
  Duration interval = const Duration(seconds: 5),
  PositionFilters? filters,
  BackgroundLocation? background,
}) => _record(
  'positionStream',
  {
    'accuracy': accuracy,
    'distanceFilter': distanceFilter,
    'interval': interval,
    'filters': filters,
    'background': background,
  },
  () => _impl.positionStream(
    accuracy: accuracy,
    distanceFilter: distanceFilter,
    interval: interval,
    filters: filters,
    background: background,
  ),
);