initGeoLocator method
Implementation
Future<void> initGeoLocator() async {
LocationPermission permission = await Geolocator.checkPermission();
if (permission == LocationPermission.denied ||
permission == LocationPermission.unableToDetermine) {
permission = await GeolocatorPlatform.instance.requestPermission();
}
if (permission == LocationPermission.always ||
permission == LocationPermission.whileInUse) {
startLocationStream();
bool isLocationEnabled = await Geolocator.isLocationServiceEnabled();
if (!isLocationEnabled) {
int count = 0;
Timer.periodic(const Duration(seconds: 2), (timer) async {
isLocationEnabled = await Geolocator.isLocationServiceEnabled();
if (isLocationEnabled) {
startLocationStream();
timer.cancel();
} else if (++count >= 5) {
timer.cancel();
}
});
}
}
}