queryCurrentUserLocation function
Implementation
Future<LatLng?> queryCurrentUserLocation() async {
final serviceEnabled = await Geolocator.isLocationServiceEnabled();
if (!serviceEnabled) {
return Future.error('Location services are disabled.');
}
var permission = await Geolocator.checkPermission();
if (permission == LocationPermission.denied) {
permission = await Geolocator.requestPermission();
if (permission == LocationPermission.denied) {
return Future.error('Location permissions are denied');
}
}
if (permission == LocationPermission.deniedForever) {
return Future.error(
'Location permissions are permanently denied, we cannot request permissions.');
}
final position = await Geolocator.getCurrentPosition();
return position.latitude != 0 && position.longitude != 0
? LatLng(position.latitude, position.longitude)
: null;
}