getCurrentLocation method

Future<LocationData?> getCurrentLocation({
  1. LocationAccuracy accuracy = LocationAccuracy.high,
  2. Duration? timeLimit,
})

Get current location once

Implementation

Future<LocationData?> getCurrentLocation({
  LocationAccuracy accuracy = LocationAccuracy.high,
  Duration? timeLimit,
}) async {
  try {
    final permission = await checkPermission();
    if (!permission.isGranted) {
      _errorController.add('Location permission not granted');
      return null;
    }

    final position = await geo.Geolocator.getCurrentPosition(
      locationSettings: _getLocationSettings(accuracy),
    );

    final locationData = _convertPosition(position);
    _lastLocation = locationData;
    return locationData;
  } catch (e) {
    _errorController.add('Failed to get current location: $e');
    return null;
  }
}