mimic google behavior with location icon button
This commit is contained in:
@ -4,13 +4,13 @@ import 'package:geolocator/geolocator.dart';
|
||||
import 'package:latlong2/latlong.dart';
|
||||
|
||||
class MapState extends ChangeNotifier {
|
||||
bool _isCurrentlyLoading = false;
|
||||
bool _isLocationLive = false;
|
||||
LatLng? _currentLocation;
|
||||
LatLng? _activeMarker;
|
||||
final MapController _mapController = MapController();
|
||||
final Geolocator _geolocator = Geolocator();
|
||||
|
||||
bool get isCurrentlyLoading => _isCurrentlyLoading;
|
||||
bool get isLocationLive => _isLocationLive;
|
||||
LatLng? get getCurrentLocation => _currentLocation;
|
||||
LatLng? get getActiveMarker => _activeMarker;
|
||||
MapController get getMapController => _mapController;
|
||||
@ -18,16 +18,21 @@ class MapState extends ChangeNotifier {
|
||||
|
||||
void setCurrentLocation(LatLng? currentLocation) {
|
||||
_currentLocation = currentLocation;
|
||||
if (currentLocation != null) _mapController.move(currentLocation, 16);
|
||||
notifyListeners();
|
||||
}
|
||||
|
||||
void setActiveMarker(LatLng? marker) {
|
||||
_activeMarker = marker;
|
||||
if (marker != null) {
|
||||
_isLocationLive = false;
|
||||
_mapController.move(marker, 16);
|
||||
}
|
||||
notifyListeners();
|
||||
}
|
||||
|
||||
void setLoading(bool loading) {
|
||||
_isCurrentlyLoading = loading;
|
||||
void setLocationLive(bool live) {
|
||||
_isLocationLive = live;
|
||||
notifyListeners();
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user