watchLivePosition static method

Stream<Position?> watchLivePosition({
  1. bool openSettingsIfDenied = false,
  2. LocationAccuracy accuracy = LocationAccuracy.high,
  3. int distanceFilter = 10,
})

Implementation

static Stream<Position?> watchLivePosition({
  bool openSettingsIfDenied = false,
  LocationAccuracy accuracy = LocationAccuracy.high,
  int distanceFilter = 10,
}) async* {
  final permission = await checkAndRequestPermission;

  if (permission.isGranted) {
    yield* Geolocator.getPositionStream(
      locationSettings: LocationSettings(
        accuracy: accuracy,
        distanceFilter: distanceFilter,
      ),
    );
  } else {
    if (openSettingsIfDenied && permission.permanentlyDenied) {
      await openLocationSettings();
    }
    yield null;
  }
}