startLocationUpdates method
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 (_) {}
}