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;
  final ULocationError? blocked = await ULocationChannel.ensureReady();
  if (blocked != null) throw UArException(code: UArErrorCode.permission, message: "Location unavailable: ${blocked.name}");
  _positionSubscription = ULocationChannel.positions(ULocationSettings(distanceFilter: distanceFilter.toDouble())).listen(_onPosition, onError: (Object _) {});
  final ULocationResult now = await ULocationChannel.current(askPermission: false);
  final UPosition? fix = now.position;
  if (fix != null) _onPosition(fix);
}