import 'package:flutter/cupertino.dart';
import 'package:flutter_map/flutter_map.dart';
import 'package:geolocator/geolocator.dart';
import 'package:latlong2/latlong.dart';

class MapState extends ChangeNotifier {
  bool _isLocationLive = false;
  LatLng? _currentLocation;
  LatLng? _activeMarker;
  final MapController _mapController = MapController();
  final Geolocator _geolocator = Geolocator();

  bool get isLocationLive => _isLocationLive;
  LatLng? get getCurrentLocation => _currentLocation;
  LatLng? get getActiveMarker => _activeMarker;
  MapController get getMapController => _mapController;
  Geolocator get getGeolocator => _geolocator;

  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 setLocationLive(bool live) {
    _isLocationLive = live;
    notifyListeners();
  }
}