startLocationUpdates method

Future<void> startLocationUpdates({
  1. int distanceFilter = 1,
})

Streams the device position for GPS placement. Started automatically.

Implementation

Future<void> startLocationUpdates({int distanceFilter = 1}) async {
  if (_positionSubscription != null) return;
  LocationPermission permission = await Geolocator.checkPermission();
  if (permission == LocationPermission.denied) permission = await Geolocator.requestPermission();
  if (permission == LocationPermission.denied || permission == LocationPermission.deniedForever) {
    throw const UArException(code: UArErrorCode.permission, message: "Location permission is required");
  }
  _positionSubscription = Geolocator.getPositionStream(locationSettings: LocationSettings(distanceFilter: distanceFilter)).listen(_onPosition);
  try {
    _onPosition(await Geolocator.getCurrentPosition());
  } catch (_) {}
}