// coverage:ignore-file
// GENERATED CODE - DO NOT MODIFY BY HAND
// ignore_for_file: type=lint
// ignore_for_file: unused_element, deprecated_member_use, deprecated_member_use_from_same_package, use_function_type_syntax_for_parameters, unnecessary_const, avoid_init_to_null, invalid_override_different_default_values_named, prefer_expression_function_bodies, annotate_overrides, invalid_annotation_target, unnecessary_question_mark

part of 'map_bloc.dart';

// **************************************************************************
// FreezedGenerator
// **************************************************************************

T _$identity<T>(T value) => value;

final _privateConstructorUsedError = UnsupportedError(
    'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models');

/// @nodoc
mixin _$MapEvent {
  @optionalTypeArgs
  TResult when<TResult extends Object?>({
    required TResult Function() clearSearchField,
    required TResult Function(BuildContext context) setQuery,
    required TResult Function() searchLocations,
    required TResult Function(GoogleMapController controller) setMapController,
    required TResult Function(bool value) setChoosing,
    required TResult Function(Place place) goToLocation,
    required TResult Function(LatLng location) goToMyLocation,
    required TResult Function(LatLng latLng) goToTappedLocation,
    required TResult Function(String title) setTitle,
    required TResult Function(bool? hasBack, BuildContext context,
            VoidCallback? onBack, VoidCallback? onGoMain)
        saveLocalAddress,
    required TResult Function(LatLng? latLng) fetchLocationName,
  }) =>
      throw _privateConstructorUsedError;
  @optionalTypeArgs
  TResult? whenOrNull<TResult extends Object?>({
    TResult? Function()? clearSearchField,
    TResult? Function(BuildContext context)? setQuery,
    TResult? Function()? searchLocations,
    TResult? Function(GoogleMapController controller)? setMapController,
    TResult? Function(bool value)? setChoosing,
    TResult? Function(Place place)? goToLocation,
    TResult? Function(LatLng location)? goToMyLocation,
    TResult? Function(LatLng latLng)? goToTappedLocation,
    TResult? Function(String title)? setTitle,
    TResult? Function(bool? hasBack, BuildContext context, VoidCallback? onBack,
            VoidCallback? onGoMain)?
        saveLocalAddress,
    TResult? Function(LatLng? latLng)? fetchLocationName,
  }) =>
      throw _privateConstructorUsedError;
  @optionalTypeArgs
  TResult maybeWhen<TResult extends Object?>({
    TResult Function()? clearSearchField,
    TResult Function(BuildContext context)? setQuery,
    TResult Function()? searchLocations,
    TResult Function(GoogleMapController controller)? setMapController,
    TResult Function(bool value)? setChoosing,
    TResult Function(Place place)? goToLocation,
    TResult Function(LatLng location)? goToMyLocation,
    TResult Function(LatLng latLng)? goToTappedLocation,
    TResult Function(String title)? setTitle,
    TResult Function(bool? hasBack, BuildContext context, VoidCallback? onBack,
            VoidCallback? onGoMain)?
        saveLocalAddress,
    TResult Function(LatLng? latLng)? fetchLocationName,
    required TResult orElse(),
  }) =>
      throw _privateConstructorUsedError;
  @optionalTypeArgs
  TResult map<TResult extends Object?>({
    required TResult Function(ClearSearchField value) clearSearchField,
    required TResult Function(SetQuery value) setQuery,
    required TResult Function(SearchLocations value) searchLocations,
    required TResult Function(SetMapController value) setMapController,
    required TResult Function(SetChoosing value) setChoosing,
    required TResult Function(GoToLocation value) goToLocation,
    required TResult Function(GoToMyLocation value) goToMyLocation,
    required TResult Function(GoToTappedLocation value) goToTappedLocation,
    required TResult Function(SetTitle value) setTitle,
    required TResult Function(SaveLocalAddress value) saveLocalAddress,
    required TResult Function(FetchLocationName value) fetchLocationName,
  }) =>
      throw _privateConstructorUsedError;
  @optionalTypeArgs
  TResult? mapOrNull<TResult extends Object?>({
    TResult? Function(ClearSearchField value)? clearSearchField,
    TResult? Function(SetQuery value)? setQuery,
    TResult? Function(SearchLocations value)? searchLocations,
    TResult? Function(SetMapController value)? setMapController,
    TResult? Function(SetChoosing value)? setChoosing,
    TResult? Function(GoToLocation value)? goToLocation,
    TResult? Function(GoToMyLocation value)? goToMyLocation,
    TResult? Function(GoToTappedLocation value)? goToTappedLocation,
    TResult? Function(SetTitle value)? setTitle,
    TResult? Function(SaveLocalAddress value)? saveLocalAddress,
    TResult? Function(FetchLocationName value)? fetchLocationName,
  }) =>
      throw _privateConstructorUsedError;
  @optionalTypeArgs
  TResult maybeMap<TResult extends Object?>({
    TResult Function(ClearSearchField value)? clearSearchField,
    TResult Function(SetQuery value)? setQuery,
    TResult Function(SearchLocations value)? searchLocations,
    TResult Function(SetMapController value)? setMapController,
    TResult Function(SetChoosing value)? setChoosing,
    TResult Function(GoToLocation value)? goToLocation,
    TResult Function(GoToMyLocation value)? goToMyLocation,
    TResult Function(GoToTappedLocation value)? goToTappedLocation,
    TResult Function(SetTitle value)? setTitle,
    TResult Function(SaveLocalAddress value)? saveLocalAddress,
    TResult Function(FetchLocationName value)? fetchLocationName,
    required TResult orElse(),
  }) =>
      throw _privateConstructorUsedError;
}

/// @nodoc
abstract class $MapEventCopyWith<$Res> {
  factory $MapEventCopyWith(MapEvent value, $Res Function(MapEvent) then) =
      _$MapEventCopyWithImpl<$Res, MapEvent>;
}

/// @nodoc
class _$MapEventCopyWithImpl<$Res, $Val extends MapEvent>
    implements $MapEventCopyWith<$Res> {
  _$MapEventCopyWithImpl(this._value, this._then);

  // ignore: unused_field
  final $Val _value;
  // ignore: unused_field
  final $Res Function($Val) _then;
}

/// @nodoc
abstract class _$$ClearSearchFieldImplCopyWith<$Res> {
  factory _$$ClearSearchFieldImplCopyWith(_$ClearSearchFieldImpl value,
          $Res Function(_$ClearSearchFieldImpl) then) =
      __$$ClearSearchFieldImplCopyWithImpl<$Res>;
}

/// @nodoc
class __$$ClearSearchFieldImplCopyWithImpl<$Res>
    extends _$MapEventCopyWithImpl<$Res, _$ClearSearchFieldImpl>
    implements _$$ClearSearchFieldImplCopyWith<$Res> {
  __$$ClearSearchFieldImplCopyWithImpl(_$ClearSearchFieldImpl _value,
      $Res Function(_$ClearSearchFieldImpl) _then)
      : super(_value, _then);
}

/// @nodoc

class _$ClearSearchFieldImpl implements ClearSearchField {
  const _$ClearSearchFieldImpl();

  @override
  String toString() {
    return 'MapEvent.clearSearchField()';
  }

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other.runtimeType == runtimeType && other is _$ClearSearchFieldImpl);
  }

  @override
  int get hashCode => runtimeType.hashCode;

  @override
  @optionalTypeArgs
  TResult when<TResult extends Object?>({
    required TResult Function() clearSearchField,
    required TResult Function(BuildContext context) setQuery,
    required TResult Function() searchLocations,
    required TResult Function(GoogleMapController controller) setMapController,
    required TResult Function(bool value) setChoosing,
    required TResult Function(Place place) goToLocation,
    required TResult Function(LatLng location) goToMyLocation,
    required TResult Function(LatLng latLng) goToTappedLocation,
    required TResult Function(String title) setTitle,
    required TResult Function(bool? hasBack, BuildContext context,
            VoidCallback? onBack, VoidCallback? onGoMain)
        saveLocalAddress,
    required TResult Function(LatLng? latLng) fetchLocationName,
  }) {
    return clearSearchField();
  }

  @override
  @optionalTypeArgs
  TResult? whenOrNull<TResult extends Object?>({
    TResult? Function()? clearSearchField,
    TResult? Function(BuildContext context)? setQuery,
    TResult? Function()? searchLocations,
    TResult? Function(GoogleMapController controller)? setMapController,
    TResult? Function(bool value)? setChoosing,
    TResult? Function(Place place)? goToLocation,
    TResult? Function(LatLng location)? goToMyLocation,
    TResult? Function(LatLng latLng)? goToTappedLocation,
    TResult? Function(String title)? setTitle,
    TResult? Function(bool? hasBack, BuildContext context, VoidCallback? onBack,
            VoidCallback? onGoMain)?
        saveLocalAddress,
    TResult? Function(LatLng? latLng)? fetchLocationName,
  }) {
    return clearSearchField?.call();
  }

  @override
  @optionalTypeArgs
  TResult maybeWhen<TResult extends Object?>({
    TResult Function()? clearSearchField,
    TResult Function(BuildContext context)? setQuery,
    TResult Function()? searchLocations,
    TResult Function(GoogleMapController controller)? setMapController,
    TResult Function(bool value)? setChoosing,
    TResult Function(Place place)? goToLocation,
    TResult Function(LatLng location)? goToMyLocation,
    TResult Function(LatLng latLng)? goToTappedLocation,
    TResult Function(String title)? setTitle,
    TResult Function(bool? hasBack, BuildContext context, VoidCallback? onBack,
            VoidCallback? onGoMain)?
        saveLocalAddress,
    TResult Function(LatLng? latLng)? fetchLocationName,
    required TResult orElse(),
  }) {
    if (clearSearchField != null) {
      return clearSearchField();
    }
    return orElse();
  }

  @override
  @optionalTypeArgs
  TResult map<TResult extends Object?>({
    required TResult Function(ClearSearchField value) clearSearchField,
    required TResult Function(SetQuery value) setQuery,
    required TResult Function(SearchLocations value) searchLocations,
    required TResult Function(SetMapController value) setMapController,
    required TResult Function(SetChoosing value) setChoosing,
    required TResult Function(GoToLocation value) goToLocation,
    required TResult Function(GoToMyLocation value) goToMyLocation,
    required TResult Function(GoToTappedLocation value) goToTappedLocation,
    required TResult Function(SetTitle value) setTitle,
    required TResult Function(SaveLocalAddress value) saveLocalAddress,
    required TResult Function(FetchLocationName value) fetchLocationName,
  }) {
    return clearSearchField(this);
  }

  @override
  @optionalTypeArgs
  TResult? mapOrNull<TResult extends Object?>({
    TResult? Function(ClearSearchField value)? clearSearchField,
    TResult? Function(SetQuery value)? setQuery,
    TResult? Function(SearchLocations value)? searchLocations,
    TResult? Function(SetMapController value)? setMapController,
    TResult? Function(SetChoosing value)? setChoosing,
    TResult? Function(GoToLocation value)? goToLocation,
    TResult? Function(GoToMyLocation value)? goToMyLocation,
    TResult? Function(GoToTappedLocation value)? goToTappedLocation,
    TResult? Function(SetTitle value)? setTitle,
    TResult? Function(SaveLocalAddress value)? saveLocalAddress,
    TResult? Function(FetchLocationName value)? fetchLocationName,
  }) {
    return clearSearchField?.call(this);
  }

  @override
  @optionalTypeArgs
  TResult maybeMap<TResult extends Object?>({
    TResult Function(ClearSearchField value)? clearSearchField,
    TResult Function(SetQuery value)? setQuery,
    TResult Function(SearchLocations value)? searchLocations,
    TResult Function(SetMapController value)? setMapController,
    TResult Function(SetChoosing value)? setChoosing,
    TResult Function(GoToLocation value)? goToLocation,
    TResult Function(GoToMyLocation value)? goToMyLocation,
    TResult Function(GoToTappedLocation value)? goToTappedLocation,
    TResult Function(SetTitle value)? setTitle,
    TResult Function(SaveLocalAddress value)? saveLocalAddress,
    TResult Function(FetchLocationName value)? fetchLocationName,
    required TResult orElse(),
  }) {
    if (clearSearchField != null) {
      return clearSearchField(this);
    }
    return orElse();
  }
}

abstract class ClearSearchField implements MapEvent {
  const factory ClearSearchField() = _$ClearSearchFieldImpl;
}

/// @nodoc
abstract class _$$SetQueryImplCopyWith<$Res> {
  factory _$$SetQueryImplCopyWith(
          _$SetQueryImpl value, $Res Function(_$SetQueryImpl) then) =
      __$$SetQueryImplCopyWithImpl<$Res>;
  @useResult
  $Res call({BuildContext context});
}

/// @nodoc
class __$$SetQueryImplCopyWithImpl<$Res>
    extends _$MapEventCopyWithImpl<$Res, _$SetQueryImpl>
    implements _$$SetQueryImplCopyWith<$Res> {
  __$$SetQueryImplCopyWithImpl(
      _$SetQueryImpl _value, $Res Function(_$SetQueryImpl) _then)
      : super(_value, _then);

  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? context = null,
  }) {
    return _then(_$SetQueryImpl(
      null == context
          ? _value.context
          : context // ignore: cast_nullable_to_non_nullable
              as BuildContext,
    ));
  }
}

/// @nodoc

class _$SetQueryImpl implements SetQuery {
  const _$SetQueryImpl(this.context);

  @override
  final BuildContext context;

  @override
  String toString() {
    return 'MapEvent.setQuery(context: $context)';
  }

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other.runtimeType == runtimeType &&
            other is _$SetQueryImpl &&
            (identical(other.context, context) || other.context == context));
  }

  @override
  int get hashCode => Object.hash(runtimeType, context);

  @JsonKey(ignore: true)
  @override
  @pragma('vm:prefer-inline')
  _$$SetQueryImplCopyWith<_$SetQueryImpl> get copyWith =>
      __$$SetQueryImplCopyWithImpl<_$SetQueryImpl>(this, _$identity);

  @override
  @optionalTypeArgs
  TResult when<TResult extends Object?>({
    required TResult Function() clearSearchField,
    required TResult Function(BuildContext context) setQuery,
    required TResult Function() searchLocations,
    required TResult Function(GoogleMapController controller) setMapController,
    required TResult Function(bool value) setChoosing,
    required TResult Function(Place place) goToLocation,
    required TResult Function(LatLng location) goToMyLocation,
    required TResult Function(LatLng latLng) goToTappedLocation,
    required TResult Function(String title) setTitle,
    required TResult Function(bool? hasBack, BuildContext context,
            VoidCallback? onBack, VoidCallback? onGoMain)
        saveLocalAddress,
    required TResult Function(LatLng? latLng) fetchLocationName,
  }) {
    return setQuery(context);
  }

  @override
  @optionalTypeArgs
  TResult? whenOrNull<TResult extends Object?>({
    TResult? Function()? clearSearchField,
    TResult? Function(BuildContext context)? setQuery,
    TResult? Function()? searchLocations,
    TResult? Function(GoogleMapController controller)? setMapController,
    TResult? Function(bool value)? setChoosing,
    TResult? Function(Place place)? goToLocation,
    TResult? Function(LatLng location)? goToMyLocation,
    TResult? Function(LatLng latLng)? goToTappedLocation,
    TResult? Function(String title)? setTitle,
    TResult? Function(bool? hasBack, BuildContext context, VoidCallback? onBack,
            VoidCallback? onGoMain)?
        saveLocalAddress,
    TResult? Function(LatLng? latLng)? fetchLocationName,
  }) {
    return setQuery?.call(context);
  }

  @override
  @optionalTypeArgs
  TResult maybeWhen<TResult extends Object?>({
    TResult Function()? clearSearchField,
    TResult Function(BuildContext context)? setQuery,
    TResult Function()? searchLocations,
    TResult Function(GoogleMapController controller)? setMapController,
    TResult Function(bool value)? setChoosing,
    TResult Function(Place place)? goToLocation,
    TResult Function(LatLng location)? goToMyLocation,
    TResult Function(LatLng latLng)? goToTappedLocation,
    TResult Function(String title)? setTitle,
    TResult Function(bool? hasBack, BuildContext context, VoidCallback? onBack,
            VoidCallback? onGoMain)?
        saveLocalAddress,
    TResult Function(LatLng? latLng)? fetchLocationName,
    required TResult orElse(),
  }) {
    if (setQuery != null) {
      return setQuery(context);
    }
    return orElse();
  }

  @override
  @optionalTypeArgs
  TResult map<TResult extends Object?>({
    required TResult Function(ClearSearchField value) clearSearchField,
    required TResult Function(SetQuery value) setQuery,
    required TResult Function(SearchLocations value) searchLocations,
    required TResult Function(SetMapController value) setMapController,
    required TResult Function(SetChoosing value) setChoosing,
    required TResult Function(GoToLocation value) goToLocation,
    required TResult Function(GoToMyLocation value) goToMyLocation,
    required TResult Function(GoToTappedLocation value) goToTappedLocation,
    required TResult Function(SetTitle value) setTitle,
    required TResult Function(SaveLocalAddress value) saveLocalAddress,
    required TResult Function(FetchLocationName value) fetchLocationName,
  }) {
    return setQuery(this);
  }

  @override
  @optionalTypeArgs
  TResult? mapOrNull<TResult extends Object?>({
    TResult? Function(ClearSearchField value)? clearSearchField,
    TResult? Function(SetQuery value)? setQuery,
    TResult? Function(SearchLocations value)? searchLocations,
    TResult? Function(SetMapController value)? setMapController,
    TResult? Function(SetChoosing value)? setChoosing,
    TResult? Function(GoToLocation value)? goToLocation,
    TResult? Function(GoToMyLocation value)? goToMyLocation,
    TResult? Function(GoToTappedLocation value)? goToTappedLocation,
    TResult? Function(SetTitle value)? setTitle,
    TResult? Function(SaveLocalAddress value)? saveLocalAddress,
    TResult? Function(FetchLocationName value)? fetchLocationName,
  }) {
    return setQuery?.call(this);
  }

  @override
  @optionalTypeArgs
  TResult maybeMap<TResult extends Object?>({
    TResult Function(ClearSearchField value)? clearSearchField,
    TResult Function(SetQuery value)? setQuery,
    TResult Function(SearchLocations value)? searchLocations,
    TResult Function(SetMapController value)? setMapController,
    TResult Function(SetChoosing value)? setChoosing,
    TResult Function(GoToLocation value)? goToLocation,
    TResult Function(GoToMyLocation value)? goToMyLocation,
    TResult Function(GoToTappedLocation value)? goToTappedLocation,
    TResult Function(SetTitle value)? setTitle,
    TResult Function(SaveLocalAddress value)? saveLocalAddress,
    TResult Function(FetchLocationName value)? fetchLocationName,
    required TResult orElse(),
  }) {
    if (setQuery != null) {
      return setQuery(this);
    }
    return orElse();
  }
}

abstract class SetQuery implements MapEvent {
  const factory SetQuery(final BuildContext context) = _$SetQueryImpl;

  BuildContext get context;
  @JsonKey(ignore: true)
  _$$SetQueryImplCopyWith<_$SetQueryImpl> get copyWith =>
      throw _privateConstructorUsedError;
}

/// @nodoc
abstract class _$$SearchLocationsImplCopyWith<$Res> {
  factory _$$SearchLocationsImplCopyWith(_$SearchLocationsImpl value,
          $Res Function(_$SearchLocationsImpl) then) =
      __$$SearchLocationsImplCopyWithImpl<$Res>;
}

/// @nodoc
class __$$SearchLocationsImplCopyWithImpl<$Res>
    extends _$MapEventCopyWithImpl<$Res, _$SearchLocationsImpl>
    implements _$$SearchLocationsImplCopyWith<$Res> {
  __$$SearchLocationsImplCopyWithImpl(
      _$SearchLocationsImpl _value, $Res Function(_$SearchLocationsImpl) _then)
      : super(_value, _then);
}

/// @nodoc

class _$SearchLocationsImpl implements SearchLocations {
  const _$SearchLocationsImpl();

  @override
  String toString() {
    return 'MapEvent.searchLocations()';
  }

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other.runtimeType == runtimeType && other is _$SearchLocationsImpl);
  }

  @override
  int get hashCode => runtimeType.hashCode;

  @override
  @optionalTypeArgs
  TResult when<TResult extends Object?>({
    required TResult Function() clearSearchField,
    required TResult Function(BuildContext context) setQuery,
    required TResult Function() searchLocations,
    required TResult Function(GoogleMapController controller) setMapController,
    required TResult Function(bool value) setChoosing,
    required TResult Function(Place place) goToLocation,
    required TResult Function(LatLng location) goToMyLocation,
    required TResult Function(LatLng latLng) goToTappedLocation,
    required TResult Function(String title) setTitle,
    required TResult Function(bool? hasBack, BuildContext context,
            VoidCallback? onBack, VoidCallback? onGoMain)
        saveLocalAddress,
    required TResult Function(LatLng? latLng) fetchLocationName,
  }) {
    return searchLocations();
  }

  @override
  @optionalTypeArgs
  TResult? whenOrNull<TResult extends Object?>({
    TResult? Function()? clearSearchField,
    TResult? Function(BuildContext context)? setQuery,
    TResult? Function()? searchLocations,
    TResult? Function(GoogleMapController controller)? setMapController,
    TResult? Function(bool value)? setChoosing,
    TResult? Function(Place place)? goToLocation,
    TResult? Function(LatLng location)? goToMyLocation,
    TResult? Function(LatLng latLng)? goToTappedLocation,
    TResult? Function(String title)? setTitle,
    TResult? Function(bool? hasBack, BuildContext context, VoidCallback? onBack,
            VoidCallback? onGoMain)?
        saveLocalAddress,
    TResult? Function(LatLng? latLng)? fetchLocationName,
  }) {
    return searchLocations?.call();
  }

  @override
  @optionalTypeArgs
  TResult maybeWhen<TResult extends Object?>({
    TResult Function()? clearSearchField,
    TResult Function(BuildContext context)? setQuery,
    TResult Function()? searchLocations,
    TResult Function(GoogleMapController controller)? setMapController,
    TResult Function(bool value)? setChoosing,
    TResult Function(Place place)? goToLocation,
    TResult Function(LatLng location)? goToMyLocation,
    TResult Function(LatLng latLng)? goToTappedLocation,
    TResult Function(String title)? setTitle,
    TResult Function(bool? hasBack, BuildContext context, VoidCallback? onBack,
            VoidCallback? onGoMain)?
        saveLocalAddress,
    TResult Function(LatLng? latLng)? fetchLocationName,
    required TResult orElse(),
  }) {
    if (searchLocations != null) {
      return searchLocations();
    }
    return orElse();
  }

  @override
  @optionalTypeArgs
  TResult map<TResult extends Object?>({
    required TResult Function(ClearSearchField value) clearSearchField,
    required TResult Function(SetQuery value) setQuery,
    required TResult Function(SearchLocations value) searchLocations,
    required TResult Function(SetMapController value) setMapController,
    required TResult Function(SetChoosing value) setChoosing,
    required TResult Function(GoToLocation value) goToLocation,
    required TResult Function(GoToMyLocation value) goToMyLocation,
    required TResult Function(GoToTappedLocation value) goToTappedLocation,
    required TResult Function(SetTitle value) setTitle,
    required TResult Function(SaveLocalAddress value) saveLocalAddress,
    required TResult Function(FetchLocationName value) fetchLocationName,
  }) {
    return searchLocations(this);
  }

  @override
  @optionalTypeArgs
  TResult? mapOrNull<TResult extends Object?>({
    TResult? Function(ClearSearchField value)? clearSearchField,
    TResult? Function(SetQuery value)? setQuery,
    TResult? Function(SearchLocations value)? searchLocations,
    TResult? Function(SetMapController value)? setMapController,
    TResult? Function(SetChoosing value)? setChoosing,
    TResult? Function(GoToLocation value)? goToLocation,
    TResult? Function(GoToMyLocation value)? goToMyLocation,
    TResult? Function(GoToTappedLocation value)? goToTappedLocation,
    TResult? Function(SetTitle value)? setTitle,
    TResult? Function(SaveLocalAddress value)? saveLocalAddress,
    TResult? Function(FetchLocationName value)? fetchLocationName,
  }) {
    return searchLocations?.call(this);
  }

  @override
  @optionalTypeArgs
  TResult maybeMap<TResult extends Object?>({
    TResult Function(ClearSearchField value)? clearSearchField,
    TResult Function(SetQuery value)? setQuery,
    TResult Function(SearchLocations value)? searchLocations,
    TResult Function(SetMapController value)? setMapController,
    TResult Function(SetChoosing value)? setChoosing,
    TResult Function(GoToLocation value)? goToLocation,
    TResult Function(GoToMyLocation value)? goToMyLocation,
    TResult Function(GoToTappedLocation value)? goToTappedLocation,
    TResult Function(SetTitle value)? setTitle,
    TResult Function(SaveLocalAddress value)? saveLocalAddress,
    TResult Function(FetchLocationName value)? fetchLocationName,
    required TResult orElse(),
  }) {
    if (searchLocations != null) {
      return searchLocations(this);
    }
    return orElse();
  }
}

abstract class SearchLocations implements MapEvent {
  const factory SearchLocations() = _$SearchLocationsImpl;
}

/// @nodoc
abstract class _$$SetMapControllerImplCopyWith<$Res> {
  factory _$$SetMapControllerImplCopyWith(_$SetMapControllerImpl value,
          $Res Function(_$SetMapControllerImpl) then) =
      __$$SetMapControllerImplCopyWithImpl<$Res>;
  @useResult
  $Res call({GoogleMapController controller});
}

/// @nodoc
class __$$SetMapControllerImplCopyWithImpl<$Res>
    extends _$MapEventCopyWithImpl<$Res, _$SetMapControllerImpl>
    implements _$$SetMapControllerImplCopyWith<$Res> {
  __$$SetMapControllerImplCopyWithImpl(_$SetMapControllerImpl _value,
      $Res Function(_$SetMapControllerImpl) _then)
      : super(_value, _then);

  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? controller = null,
  }) {
    return _then(_$SetMapControllerImpl(
      null == controller
          ? _value.controller
          : controller // ignore: cast_nullable_to_non_nullable
              as GoogleMapController,
    ));
  }
}

/// @nodoc

class _$SetMapControllerImpl implements SetMapController {
  const _$SetMapControllerImpl(this.controller);

  @override
  final GoogleMapController controller;

  @override
  String toString() {
    return 'MapEvent.setMapController(controller: $controller)';
  }

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other.runtimeType == runtimeType &&
            other is _$SetMapControllerImpl &&
            (identical(other.controller, controller) ||
                other.controller == controller));
  }

  @override
  int get hashCode => Object.hash(runtimeType, controller);

  @JsonKey(ignore: true)
  @override
  @pragma('vm:prefer-inline')
  _$$SetMapControllerImplCopyWith<_$SetMapControllerImpl> get copyWith =>
      __$$SetMapControllerImplCopyWithImpl<_$SetMapControllerImpl>(
          this, _$identity);

  @override
  @optionalTypeArgs
  TResult when<TResult extends Object?>({
    required TResult Function() clearSearchField,
    required TResult Function(BuildContext context) setQuery,
    required TResult Function() searchLocations,
    required TResult Function(GoogleMapController controller) setMapController,
    required TResult Function(bool value) setChoosing,
    required TResult Function(Place place) goToLocation,
    required TResult Function(LatLng location) goToMyLocation,
    required TResult Function(LatLng latLng) goToTappedLocation,
    required TResult Function(String title) setTitle,
    required TResult Function(bool? hasBack, BuildContext context,
            VoidCallback? onBack, VoidCallback? onGoMain)
        saveLocalAddress,
    required TResult Function(LatLng? latLng) fetchLocationName,
  }) {
    return setMapController(controller);
  }

  @override
  @optionalTypeArgs
  TResult? whenOrNull<TResult extends Object?>({
    TResult? Function()? clearSearchField,
    TResult? Function(BuildContext context)? setQuery,
    TResult? Function()? searchLocations,
    TResult? Function(GoogleMapController controller)? setMapController,
    TResult? Function(bool value)? setChoosing,
    TResult? Function(Place place)? goToLocation,
    TResult? Function(LatLng location)? goToMyLocation,
    TResult? Function(LatLng latLng)? goToTappedLocation,
    TResult? Function(String title)? setTitle,
    TResult? Function(bool? hasBack, BuildContext context, VoidCallback? onBack,
            VoidCallback? onGoMain)?
        saveLocalAddress,
    TResult? Function(LatLng? latLng)? fetchLocationName,
  }) {
    return setMapController?.call(controller);
  }

  @override
  @optionalTypeArgs
  TResult maybeWhen<TResult extends Object?>({
    TResult Function()? clearSearchField,
    TResult Function(BuildContext context)? setQuery,
    TResult Function()? searchLocations,
    TResult Function(GoogleMapController controller)? setMapController,
    TResult Function(bool value)? setChoosing,
    TResult Function(Place place)? goToLocation,
    TResult Function(LatLng location)? goToMyLocation,
    TResult Function(LatLng latLng)? goToTappedLocation,
    TResult Function(String title)? setTitle,
    TResult Function(bool? hasBack, BuildContext context, VoidCallback? onBack,
            VoidCallback? onGoMain)?
        saveLocalAddress,
    TResult Function(LatLng? latLng)? fetchLocationName,
    required TResult orElse(),
  }) {
    if (setMapController != null) {
      return setMapController(controller);
    }
    return orElse();
  }

  @override
  @optionalTypeArgs
  TResult map<TResult extends Object?>({
    required TResult Function(ClearSearchField value) clearSearchField,
    required TResult Function(SetQuery value) setQuery,
    required TResult Function(SearchLocations value) searchLocations,
    required TResult Function(SetMapController value) setMapController,
    required TResult Function(SetChoosing value) setChoosing,
    required TResult Function(GoToLocation value) goToLocation,
    required TResult Function(GoToMyLocation value) goToMyLocation,
    required TResult Function(GoToTappedLocation value) goToTappedLocation,
    required TResult Function(SetTitle value) setTitle,
    required TResult Function(SaveLocalAddress value) saveLocalAddress,
    required TResult Function(FetchLocationName value) fetchLocationName,
  }) {
    return setMapController(this);
  }

  @override
  @optionalTypeArgs
  TResult? mapOrNull<TResult extends Object?>({
    TResult? Function(ClearSearchField value)? clearSearchField,
    TResult? Function(SetQuery value)? setQuery,
    TResult? Function(SearchLocations value)? searchLocations,
    TResult? Function(SetMapController value)? setMapController,
    TResult? Function(SetChoosing value)? setChoosing,
    TResult? Function(GoToLocation value)? goToLocation,
    TResult? Function(GoToMyLocation value)? goToMyLocation,
    TResult? Function(GoToTappedLocation value)? goToTappedLocation,
    TResult? Function(SetTitle value)? setTitle,
    TResult? Function(SaveLocalAddress value)? saveLocalAddress,
    TResult? Function(FetchLocationName value)? fetchLocationName,
  }) {
    return setMapController?.call(this);
  }

  @override
  @optionalTypeArgs
  TResult maybeMap<TResult extends Object?>({
    TResult Function(ClearSearchField value)? clearSearchField,
    TResult Function(SetQuery value)? setQuery,
    TResult Function(SearchLocations value)? searchLocations,
    TResult Function(SetMapController value)? setMapController,
    TResult Function(SetChoosing value)? setChoosing,
    TResult Function(GoToLocation value)? goToLocation,
    TResult Function(GoToMyLocation value)? goToMyLocation,
    TResult Function(GoToTappedLocation value)? goToTappedLocation,
    TResult Function(SetTitle value)? setTitle,
    TResult Function(SaveLocalAddress value)? saveLocalAddress,
    TResult Function(FetchLocationName value)? fetchLocationName,
    required TResult orElse(),
  }) {
    if (setMapController != null) {
      return setMapController(this);
    }
    return orElse();
  }
}

abstract class SetMapController implements MapEvent {
  const factory SetMapController(final GoogleMapController controller) =
      _$SetMapControllerImpl;

  GoogleMapController get controller;
  @JsonKey(ignore: true)
  _$$SetMapControllerImplCopyWith<_$SetMapControllerImpl> get copyWith =>
      throw _privateConstructorUsedError;
}

/// @nodoc
abstract class _$$SetChoosingImplCopyWith<$Res> {
  factory _$$SetChoosingImplCopyWith(
          _$SetChoosingImpl value, $Res Function(_$SetChoosingImpl) then) =
      __$$SetChoosingImplCopyWithImpl<$Res>;
  @useResult
  $Res call({bool value});
}

/// @nodoc
class __$$SetChoosingImplCopyWithImpl<$Res>
    extends _$MapEventCopyWithImpl<$Res, _$SetChoosingImpl>
    implements _$$SetChoosingImplCopyWith<$Res> {
  __$$SetChoosingImplCopyWithImpl(
      _$SetChoosingImpl _value, $Res Function(_$SetChoosingImpl) _then)
      : super(_value, _then);

  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? value = null,
  }) {
    return _then(_$SetChoosingImpl(
      null == value
          ? _value.value
          : value // ignore: cast_nullable_to_non_nullable
              as bool,
    ));
  }
}

/// @nodoc

class _$SetChoosingImpl implements SetChoosing {
  const _$SetChoosingImpl(this.value);

  @override
  final bool value;

  @override
  String toString() {
    return 'MapEvent.setChoosing(value: $value)';
  }

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other.runtimeType == runtimeType &&
            other is _$SetChoosingImpl &&
            (identical(other.value, value) || other.value == value));
  }

  @override
  int get hashCode => Object.hash(runtimeType, value);

  @JsonKey(ignore: true)
  @override
  @pragma('vm:prefer-inline')
  _$$SetChoosingImplCopyWith<_$SetChoosingImpl> get copyWith =>
      __$$SetChoosingImplCopyWithImpl<_$SetChoosingImpl>(this, _$identity);

  @override
  @optionalTypeArgs
  TResult when<TResult extends Object?>({
    required TResult Function() clearSearchField,
    required TResult Function(BuildContext context) setQuery,
    required TResult Function() searchLocations,
    required TResult Function(GoogleMapController controller) setMapController,
    required TResult Function(bool value) setChoosing,
    required TResult Function(Place place) goToLocation,
    required TResult Function(LatLng location) goToMyLocation,
    required TResult Function(LatLng latLng) goToTappedLocation,
    required TResult Function(String title) setTitle,
    required TResult Function(bool? hasBack, BuildContext context,
            VoidCallback? onBack, VoidCallback? onGoMain)
        saveLocalAddress,
    required TResult Function(LatLng? latLng) fetchLocationName,
  }) {
    return setChoosing(value);
  }

  @override
  @optionalTypeArgs
  TResult? whenOrNull<TResult extends Object?>({
    TResult? Function()? clearSearchField,
    TResult? Function(BuildContext context)? setQuery,
    TResult? Function()? searchLocations,
    TResult? Function(GoogleMapController controller)? setMapController,
    TResult? Function(bool value)? setChoosing,
    TResult? Function(Place place)? goToLocation,
    TResult? Function(LatLng location)? goToMyLocation,
    TResult? Function(LatLng latLng)? goToTappedLocation,
    TResult? Function(String title)? setTitle,
    TResult? Function(bool? hasBack, BuildContext context, VoidCallback? onBack,
            VoidCallback? onGoMain)?
        saveLocalAddress,
    TResult? Function(LatLng? latLng)? fetchLocationName,
  }) {
    return setChoosing?.call(value);
  }

  @override
  @optionalTypeArgs
  TResult maybeWhen<TResult extends Object?>({
    TResult Function()? clearSearchField,
    TResult Function(BuildContext context)? setQuery,
    TResult Function()? searchLocations,
    TResult Function(GoogleMapController controller)? setMapController,
    TResult Function(bool value)? setChoosing,
    TResult Function(Place place)? goToLocation,
    TResult Function(LatLng location)? goToMyLocation,
    TResult Function(LatLng latLng)? goToTappedLocation,
    TResult Function(String title)? setTitle,
    TResult Function(bool? hasBack, BuildContext context, VoidCallback? onBack,
            VoidCallback? onGoMain)?
        saveLocalAddress,
    TResult Function(LatLng? latLng)? fetchLocationName,
    required TResult orElse(),
  }) {
    if (setChoosing != null) {
      return setChoosing(value);
    }
    return orElse();
  }

  @override
  @optionalTypeArgs
  TResult map<TResult extends Object?>({
    required TResult Function(ClearSearchField value) clearSearchField,
    required TResult Function(SetQuery value) setQuery,
    required TResult Function(SearchLocations value) searchLocations,
    required TResult Function(SetMapController value) setMapController,
    required TResult Function(SetChoosing value) setChoosing,
    required TResult Function(GoToLocation value) goToLocation,
    required TResult Function(GoToMyLocation value) goToMyLocation,
    required TResult Function(GoToTappedLocation value) goToTappedLocation,
    required TResult Function(SetTitle value) setTitle,
    required TResult Function(SaveLocalAddress value) saveLocalAddress,
    required TResult Function(FetchLocationName value) fetchLocationName,
  }) {
    return setChoosing(this);
  }

  @override
  @optionalTypeArgs
  TResult? mapOrNull<TResult extends Object?>({
    TResult? Function(ClearSearchField value)? clearSearchField,
    TResult? Function(SetQuery value)? setQuery,
    TResult? Function(SearchLocations value)? searchLocations,
    TResult? Function(SetMapController value)? setMapController,
    TResult? Function(SetChoosing value)? setChoosing,
    TResult? Function(GoToLocation value)? goToLocation,
    TResult? Function(GoToMyLocation value)? goToMyLocation,
    TResult? Function(GoToTappedLocation value)? goToTappedLocation,
    TResult? Function(SetTitle value)? setTitle,
    TResult? Function(SaveLocalAddress value)? saveLocalAddress,
    TResult? Function(FetchLocationName value)? fetchLocationName,
  }) {
    return setChoosing?.call(this);
  }

  @override
  @optionalTypeArgs
  TResult maybeMap<TResult extends Object?>({
    TResult Function(ClearSearchField value)? clearSearchField,
    TResult Function(SetQuery value)? setQuery,
    TResult Function(SearchLocations value)? searchLocations,
    TResult Function(SetMapController value)? setMapController,
    TResult Function(SetChoosing value)? setChoosing,
    TResult Function(GoToLocation value)? goToLocation,
    TResult Function(GoToMyLocation value)? goToMyLocation,
    TResult Function(GoToTappedLocation value)? goToTappedLocation,
    TResult Function(SetTitle value)? setTitle,
    TResult Function(SaveLocalAddress value)? saveLocalAddress,
    TResult Function(FetchLocationName value)? fetchLocationName,
    required TResult orElse(),
  }) {
    if (setChoosing != null) {
      return setChoosing(this);
    }
    return orElse();
  }
}

abstract class SetChoosing implements MapEvent {
  const factory SetChoosing(final bool value) = _$SetChoosingImpl;

  bool get value;
  @JsonKey(ignore: true)
  _$$SetChoosingImplCopyWith<_$SetChoosingImpl> get copyWith =>
      throw _privateConstructorUsedError;
}

/// @nodoc
abstract class _$$GoToLocationImplCopyWith<$Res> {
  factory _$$GoToLocationImplCopyWith(
          _$GoToLocationImpl value, $Res Function(_$GoToLocationImpl) then) =
      __$$GoToLocationImplCopyWithImpl<$Res>;
  @useResult
  $Res call({Place place});
}

/// @nodoc
class __$$GoToLocationImplCopyWithImpl<$Res>
    extends _$MapEventCopyWithImpl<$Res, _$GoToLocationImpl>
    implements _$$GoToLocationImplCopyWith<$Res> {
  __$$GoToLocationImplCopyWithImpl(
      _$GoToLocationImpl _value, $Res Function(_$GoToLocationImpl) _then)
      : super(_value, _then);

  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? place = null,
  }) {
    return _then(_$GoToLocationImpl(
      place: null == place
          ? _value.place
          : place // ignore: cast_nullable_to_non_nullable
              as Place,
    ));
  }
}

/// @nodoc

class _$GoToLocationImpl implements GoToLocation {
  const _$GoToLocationImpl({required this.place});

  @override
  final Place place;

  @override
  String toString() {
    return 'MapEvent.goToLocation(place: $place)';
  }

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other.runtimeType == runtimeType &&
            other is _$GoToLocationImpl &&
            (identical(other.place, place) || other.place == place));
  }

  @override
  int get hashCode => Object.hash(runtimeType, place);

  @JsonKey(ignore: true)
  @override
  @pragma('vm:prefer-inline')
  _$$GoToLocationImplCopyWith<_$GoToLocationImpl> get copyWith =>
      __$$GoToLocationImplCopyWithImpl<_$GoToLocationImpl>(this, _$identity);

  @override
  @optionalTypeArgs
  TResult when<TResult extends Object?>({
    required TResult Function() clearSearchField,
    required TResult Function(BuildContext context) setQuery,
    required TResult Function() searchLocations,
    required TResult Function(GoogleMapController controller) setMapController,
    required TResult Function(bool value) setChoosing,
    required TResult Function(Place place) goToLocation,
    required TResult Function(LatLng location) goToMyLocation,
    required TResult Function(LatLng latLng) goToTappedLocation,
    required TResult Function(String title) setTitle,
    required TResult Function(bool? hasBack, BuildContext context,
            VoidCallback? onBack, VoidCallback? onGoMain)
        saveLocalAddress,
    required TResult Function(LatLng? latLng) fetchLocationName,
  }) {
    return goToLocation(place);
  }

  @override
  @optionalTypeArgs
  TResult? whenOrNull<TResult extends Object?>({
    TResult? Function()? clearSearchField,
    TResult? Function(BuildContext context)? setQuery,
    TResult? Function()? searchLocations,
    TResult? Function(GoogleMapController controller)? setMapController,
    TResult? Function(bool value)? setChoosing,
    TResult? Function(Place place)? goToLocation,
    TResult? Function(LatLng location)? goToMyLocation,
    TResult? Function(LatLng latLng)? goToTappedLocation,
    TResult? Function(String title)? setTitle,
    TResult? Function(bool? hasBack, BuildContext context, VoidCallback? onBack,
            VoidCallback? onGoMain)?
        saveLocalAddress,
    TResult? Function(LatLng? latLng)? fetchLocationName,
  }) {
    return goToLocation?.call(place);
  }

  @override
  @optionalTypeArgs
  TResult maybeWhen<TResult extends Object?>({
    TResult Function()? clearSearchField,
    TResult Function(BuildContext context)? setQuery,
    TResult Function()? searchLocations,
    TResult Function(GoogleMapController controller)? setMapController,
    TResult Function(bool value)? setChoosing,
    TResult Function(Place place)? goToLocation,
    TResult Function(LatLng location)? goToMyLocation,
    TResult Function(LatLng latLng)? goToTappedLocation,
    TResult Function(String title)? setTitle,
    TResult Function(bool? hasBack, BuildContext context, VoidCallback? onBack,
            VoidCallback? onGoMain)?
        saveLocalAddress,
    TResult Function(LatLng? latLng)? fetchLocationName,
    required TResult orElse(),
  }) {
    if (goToLocation != null) {
      return goToLocation(place);
    }
    return orElse();
  }

  @override
  @optionalTypeArgs
  TResult map<TResult extends Object?>({
    required TResult Function(ClearSearchField value) clearSearchField,
    required TResult Function(SetQuery value) setQuery,
    required TResult Function(SearchLocations value) searchLocations,
    required TResult Function(SetMapController value) setMapController,
    required TResult Function(SetChoosing value) setChoosing,
    required TResult Function(GoToLocation value) goToLocation,
    required TResult Function(GoToMyLocation value) goToMyLocation,
    required TResult Function(GoToTappedLocation value) goToTappedLocation,
    required TResult Function(SetTitle value) setTitle,
    required TResult Function(SaveLocalAddress value) saveLocalAddress,
    required TResult Function(FetchLocationName value) fetchLocationName,
  }) {
    return goToLocation(this);
  }

  @override
  @optionalTypeArgs
  TResult? mapOrNull<TResult extends Object?>({
    TResult? Function(ClearSearchField value)? clearSearchField,
    TResult? Function(SetQuery value)? setQuery,
    TResult? Function(SearchLocations value)? searchLocations,
    TResult? Function(SetMapController value)? setMapController,
    TResult? Function(SetChoosing value)? setChoosing,
    TResult? Function(GoToLocation value)? goToLocation,
    TResult? Function(GoToMyLocation value)? goToMyLocation,
    TResult? Function(GoToTappedLocation value)? goToTappedLocation,
    TResult? Function(SetTitle value)? setTitle,
    TResult? Function(SaveLocalAddress value)? saveLocalAddress,
    TResult? Function(FetchLocationName value)? fetchLocationName,
  }) {
    return goToLocation?.call(this);
  }

  @override
  @optionalTypeArgs
  TResult maybeMap<TResult extends Object?>({
    TResult Function(ClearSearchField value)? clearSearchField,
    TResult Function(SetQuery value)? setQuery,
    TResult Function(SearchLocations value)? searchLocations,
    TResult Function(SetMapController value)? setMapController,
    TResult Function(SetChoosing value)? setChoosing,
    TResult Function(GoToLocation value)? goToLocation,
    TResult Function(GoToMyLocation value)? goToMyLocation,
    TResult Function(GoToTappedLocation value)? goToTappedLocation,
    TResult Function(SetTitle value)? setTitle,
    TResult Function(SaveLocalAddress value)? saveLocalAddress,
    TResult Function(FetchLocationName value)? fetchLocationName,
    required TResult orElse(),
  }) {
    if (goToLocation != null) {
      return goToLocation(this);
    }
    return orElse();
  }
}

abstract class GoToLocation implements MapEvent {
  const factory GoToLocation({required final Place place}) = _$GoToLocationImpl;

  Place get place;
  @JsonKey(ignore: true)
  _$$GoToLocationImplCopyWith<_$GoToLocationImpl> get copyWith =>
      throw _privateConstructorUsedError;
}

/// @nodoc
abstract class _$$GoToMyLocationImplCopyWith<$Res> {
  factory _$$GoToMyLocationImplCopyWith(_$GoToMyLocationImpl value,
          $Res Function(_$GoToMyLocationImpl) then) =
      __$$GoToMyLocationImplCopyWithImpl<$Res>;
  @useResult
  $Res call({LatLng location});
}

/// @nodoc
class __$$GoToMyLocationImplCopyWithImpl<$Res>
    extends _$MapEventCopyWithImpl<$Res, _$GoToMyLocationImpl>
    implements _$$GoToMyLocationImplCopyWith<$Res> {
  __$$GoToMyLocationImplCopyWithImpl(
      _$GoToMyLocationImpl _value, $Res Function(_$GoToMyLocationImpl) _then)
      : super(_value, _then);

  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? location = null,
  }) {
    return _then(_$GoToMyLocationImpl(
      location: null == location
          ? _value.location
          : location // ignore: cast_nullable_to_non_nullable
              as LatLng,
    ));
  }
}

/// @nodoc

class _$GoToMyLocationImpl implements GoToMyLocation {
  const _$GoToMyLocationImpl({required this.location});

  @override
  final LatLng location;

  @override
  String toString() {
    return 'MapEvent.goToMyLocation(location: $location)';
  }

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other.runtimeType == runtimeType &&
            other is _$GoToMyLocationImpl &&
            (identical(other.location, location) ||
                other.location == location));
  }

  @override
  int get hashCode => Object.hash(runtimeType, location);

  @JsonKey(ignore: true)
  @override
  @pragma('vm:prefer-inline')
  _$$GoToMyLocationImplCopyWith<_$GoToMyLocationImpl> get copyWith =>
      __$$GoToMyLocationImplCopyWithImpl<_$GoToMyLocationImpl>(
          this, _$identity);

  @override
  @optionalTypeArgs
  TResult when<TResult extends Object?>({
    required TResult Function() clearSearchField,
    required TResult Function(BuildContext context) setQuery,
    required TResult Function() searchLocations,
    required TResult Function(GoogleMapController controller) setMapController,
    required TResult Function(bool value) setChoosing,
    required TResult Function(Place place) goToLocation,
    required TResult Function(LatLng location) goToMyLocation,
    required TResult Function(LatLng latLng) goToTappedLocation,
    required TResult Function(String title) setTitle,
    required TResult Function(bool? hasBack, BuildContext context,
            VoidCallback? onBack, VoidCallback? onGoMain)
        saveLocalAddress,
    required TResult Function(LatLng? latLng) fetchLocationName,
  }) {
    return goToMyLocation(location);
  }

  @override
  @optionalTypeArgs
  TResult? whenOrNull<TResult extends Object?>({
    TResult? Function()? clearSearchField,
    TResult? Function(BuildContext context)? setQuery,
    TResult? Function()? searchLocations,
    TResult? Function(GoogleMapController controller)? setMapController,
    TResult? Function(bool value)? setChoosing,
    TResult? Function(Place place)? goToLocation,
    TResult? Function(LatLng location)? goToMyLocation,
    TResult? Function(LatLng latLng)? goToTappedLocation,
    TResult? Function(String title)? setTitle,
    TResult? Function(bool? hasBack, BuildContext context, VoidCallback? onBack,
            VoidCallback? onGoMain)?
        saveLocalAddress,
    TResult? Function(LatLng? latLng)? fetchLocationName,
  }) {
    return goToMyLocation?.call(location);
  }

  @override
  @optionalTypeArgs
  TResult maybeWhen<TResult extends Object?>({
    TResult Function()? clearSearchField,
    TResult Function(BuildContext context)? setQuery,
    TResult Function()? searchLocations,
    TResult Function(GoogleMapController controller)? setMapController,
    TResult Function(bool value)? setChoosing,
    TResult Function(Place place)? goToLocation,
    TResult Function(LatLng location)? goToMyLocation,
    TResult Function(LatLng latLng)? goToTappedLocation,
    TResult Function(String title)? setTitle,
    TResult Function(bool? hasBack, BuildContext context, VoidCallback? onBack,
            VoidCallback? onGoMain)?
        saveLocalAddress,
    TResult Function(LatLng? latLng)? fetchLocationName,
    required TResult orElse(),
  }) {
    if (goToMyLocation != null) {
      return goToMyLocation(location);
    }
    return orElse();
  }

  @override
  @optionalTypeArgs
  TResult map<TResult extends Object?>({
    required TResult Function(ClearSearchField value) clearSearchField,
    required TResult Function(SetQuery value) setQuery,
    required TResult Function(SearchLocations value) searchLocations,
    required TResult Function(SetMapController value) setMapController,
    required TResult Function(SetChoosing value) setChoosing,
    required TResult Function(GoToLocation value) goToLocation,
    required TResult Function(GoToMyLocation value) goToMyLocation,
    required TResult Function(GoToTappedLocation value) goToTappedLocation,
    required TResult Function(SetTitle value) setTitle,
    required TResult Function(SaveLocalAddress value) saveLocalAddress,
    required TResult Function(FetchLocationName value) fetchLocationName,
  }) {
    return goToMyLocation(this);
  }

  @override
  @optionalTypeArgs
  TResult? mapOrNull<TResult extends Object?>({
    TResult? Function(ClearSearchField value)? clearSearchField,
    TResult? Function(SetQuery value)? setQuery,
    TResult? Function(SearchLocations value)? searchLocations,
    TResult? Function(SetMapController value)? setMapController,
    TResult? Function(SetChoosing value)? setChoosing,
    TResult? Function(GoToLocation value)? goToLocation,
    TResult? Function(GoToMyLocation value)? goToMyLocation,
    TResult? Function(GoToTappedLocation value)? goToTappedLocation,
    TResult? Function(SetTitle value)? setTitle,
    TResult? Function(SaveLocalAddress value)? saveLocalAddress,
    TResult? Function(FetchLocationName value)? fetchLocationName,
  }) {
    return goToMyLocation?.call(this);
  }

  @override
  @optionalTypeArgs
  TResult maybeMap<TResult extends Object?>({
    TResult Function(ClearSearchField value)? clearSearchField,
    TResult Function(SetQuery value)? setQuery,
    TResult Function(SearchLocations value)? searchLocations,
    TResult Function(SetMapController value)? setMapController,
    TResult Function(SetChoosing value)? setChoosing,
    TResult Function(GoToLocation value)? goToLocation,
    TResult Function(GoToMyLocation value)? goToMyLocation,
    TResult Function(GoToTappedLocation value)? goToTappedLocation,
    TResult Function(SetTitle value)? setTitle,
    TResult Function(SaveLocalAddress value)? saveLocalAddress,
    TResult Function(FetchLocationName value)? fetchLocationName,
    required TResult orElse(),
  }) {
    if (goToMyLocation != null) {
      return goToMyLocation(this);
    }
    return orElse();
  }
}

abstract class GoToMyLocation implements MapEvent {
  const factory GoToMyLocation({required final LatLng location}) =
      _$GoToMyLocationImpl;

  LatLng get location;
  @JsonKey(ignore: true)
  _$$GoToMyLocationImplCopyWith<_$GoToMyLocationImpl> get copyWith =>
      throw _privateConstructorUsedError;
}

/// @nodoc
abstract class _$$GoToTappedLocationImplCopyWith<$Res> {
  factory _$$GoToTappedLocationImplCopyWith(_$GoToTappedLocationImpl value,
          $Res Function(_$GoToTappedLocationImpl) then) =
      __$$GoToTappedLocationImplCopyWithImpl<$Res>;
  @useResult
  $Res call({LatLng latLng});
}

/// @nodoc
class __$$GoToTappedLocationImplCopyWithImpl<$Res>
    extends _$MapEventCopyWithImpl<$Res, _$GoToTappedLocationImpl>
    implements _$$GoToTappedLocationImplCopyWith<$Res> {
  __$$GoToTappedLocationImplCopyWithImpl(_$GoToTappedLocationImpl _value,
      $Res Function(_$GoToTappedLocationImpl) _then)
      : super(_value, _then);

  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? latLng = null,
  }) {
    return _then(_$GoToTappedLocationImpl(
      null == latLng
          ? _value.latLng
          : latLng // ignore: cast_nullable_to_non_nullable
              as LatLng,
    ));
  }
}

/// @nodoc

class _$GoToTappedLocationImpl implements GoToTappedLocation {
  const _$GoToTappedLocationImpl(this.latLng);

  @override
  final LatLng latLng;

  @override
  String toString() {
    return 'MapEvent.goToTappedLocation(latLng: $latLng)';
  }

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other.runtimeType == runtimeType &&
            other is _$GoToTappedLocationImpl &&
            (identical(other.latLng, latLng) || other.latLng == latLng));
  }

  @override
  int get hashCode => Object.hash(runtimeType, latLng);

  @JsonKey(ignore: true)
  @override
  @pragma('vm:prefer-inline')
  _$$GoToTappedLocationImplCopyWith<_$GoToTappedLocationImpl> get copyWith =>
      __$$GoToTappedLocationImplCopyWithImpl<_$GoToTappedLocationImpl>(
          this, _$identity);

  @override
  @optionalTypeArgs
  TResult when<TResult extends Object?>({
    required TResult Function() clearSearchField,
    required TResult Function(BuildContext context) setQuery,
    required TResult Function() searchLocations,
    required TResult Function(GoogleMapController controller) setMapController,
    required TResult Function(bool value) setChoosing,
    required TResult Function(Place place) goToLocation,
    required TResult Function(LatLng location) goToMyLocation,
    required TResult Function(LatLng latLng) goToTappedLocation,
    required TResult Function(String title) setTitle,
    required TResult Function(bool? hasBack, BuildContext context,
            VoidCallback? onBack, VoidCallback? onGoMain)
        saveLocalAddress,
    required TResult Function(LatLng? latLng) fetchLocationName,
  }) {
    return goToTappedLocation(latLng);
  }

  @override
  @optionalTypeArgs
  TResult? whenOrNull<TResult extends Object?>({
    TResult? Function()? clearSearchField,
    TResult? Function(BuildContext context)? setQuery,
    TResult? Function()? searchLocations,
    TResult? Function(GoogleMapController controller)? setMapController,
    TResult? Function(bool value)? setChoosing,
    TResult? Function(Place place)? goToLocation,
    TResult? Function(LatLng location)? goToMyLocation,
    TResult? Function(LatLng latLng)? goToTappedLocation,
    TResult? Function(String title)? setTitle,
    TResult? Function(bool? hasBack, BuildContext context, VoidCallback? onBack,
            VoidCallback? onGoMain)?
        saveLocalAddress,
    TResult? Function(LatLng? latLng)? fetchLocationName,
  }) {
    return goToTappedLocation?.call(latLng);
  }

  @override
  @optionalTypeArgs
  TResult maybeWhen<TResult extends Object?>({
    TResult Function()? clearSearchField,
    TResult Function(BuildContext context)? setQuery,
    TResult Function()? searchLocations,
    TResult Function(GoogleMapController controller)? setMapController,
    TResult Function(bool value)? setChoosing,
    TResult Function(Place place)? goToLocation,
    TResult Function(LatLng location)? goToMyLocation,
    TResult Function(LatLng latLng)? goToTappedLocation,
    TResult Function(String title)? setTitle,
    TResult Function(bool? hasBack, BuildContext context, VoidCallback? onBack,
            VoidCallback? onGoMain)?
        saveLocalAddress,
    TResult Function(LatLng? latLng)? fetchLocationName,
    required TResult orElse(),
  }) {
    if (goToTappedLocation != null) {
      return goToTappedLocation(latLng);
    }
    return orElse();
  }

  @override
  @optionalTypeArgs
  TResult map<TResult extends Object?>({
    required TResult Function(ClearSearchField value) clearSearchField,
    required TResult Function(SetQuery value) setQuery,
    required TResult Function(SearchLocations value) searchLocations,
    required TResult Function(SetMapController value) setMapController,
    required TResult Function(SetChoosing value) setChoosing,
    required TResult Function(GoToLocation value) goToLocation,
    required TResult Function(GoToMyLocation value) goToMyLocation,
    required TResult Function(GoToTappedLocation value) goToTappedLocation,
    required TResult Function(SetTitle value) setTitle,
    required TResult Function(SaveLocalAddress value) saveLocalAddress,
    required TResult Function(FetchLocationName value) fetchLocationName,
  }) {
    return goToTappedLocation(this);
  }

  @override
  @optionalTypeArgs
  TResult? mapOrNull<TResult extends Object?>({
    TResult? Function(ClearSearchField value)? clearSearchField,
    TResult? Function(SetQuery value)? setQuery,
    TResult? Function(SearchLocations value)? searchLocations,
    TResult? Function(SetMapController value)? setMapController,
    TResult? Function(SetChoosing value)? setChoosing,
    TResult? Function(GoToLocation value)? goToLocation,
    TResult? Function(GoToMyLocation value)? goToMyLocation,
    TResult? Function(GoToTappedLocation value)? goToTappedLocation,
    TResult? Function(SetTitle value)? setTitle,
    TResult? Function(SaveLocalAddress value)? saveLocalAddress,
    TResult? Function(FetchLocationName value)? fetchLocationName,
  }) {
    return goToTappedLocation?.call(this);
  }

  @override
  @optionalTypeArgs
  TResult maybeMap<TResult extends Object?>({
    TResult Function(ClearSearchField value)? clearSearchField,
    TResult Function(SetQuery value)? setQuery,
    TResult Function(SearchLocations value)? searchLocations,
    TResult Function(SetMapController value)? setMapController,
    TResult Function(SetChoosing value)? setChoosing,
    TResult Function(GoToLocation value)? goToLocation,
    TResult Function(GoToMyLocation value)? goToMyLocation,
    TResult Function(GoToTappedLocation value)? goToTappedLocation,
    TResult Function(SetTitle value)? setTitle,
    TResult Function(SaveLocalAddress value)? saveLocalAddress,
    TResult Function(FetchLocationName value)? fetchLocationName,
    required TResult orElse(),
  }) {
    if (goToTappedLocation != null) {
      return goToTappedLocation(this);
    }
    return orElse();
  }
}

abstract class GoToTappedLocation implements MapEvent {
  const factory GoToTappedLocation(final LatLng latLng) =
      _$GoToTappedLocationImpl;

  LatLng get latLng;
  @JsonKey(ignore: true)
  _$$GoToTappedLocationImplCopyWith<_$GoToTappedLocationImpl> get copyWith =>
      throw _privateConstructorUsedError;
}

/// @nodoc
abstract class _$$SetTitleImplCopyWith<$Res> {
  factory _$$SetTitleImplCopyWith(
          _$SetTitleImpl value, $Res Function(_$SetTitleImpl) then) =
      __$$SetTitleImplCopyWithImpl<$Res>;
  @useResult
  $Res call({String title});
}

/// @nodoc
class __$$SetTitleImplCopyWithImpl<$Res>
    extends _$MapEventCopyWithImpl<$Res, _$SetTitleImpl>
    implements _$$SetTitleImplCopyWith<$Res> {
  __$$SetTitleImplCopyWithImpl(
      _$SetTitleImpl _value, $Res Function(_$SetTitleImpl) _then)
      : super(_value, _then);

  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? title = null,
  }) {
    return _then(_$SetTitleImpl(
      null == title
          ? _value.title
          : title // ignore: cast_nullable_to_non_nullable
              as String,
    ));
  }
}

/// @nodoc

class _$SetTitleImpl implements SetTitle {
  const _$SetTitleImpl(this.title);

  @override
  final String title;

  @override
  String toString() {
    return 'MapEvent.setTitle(title: $title)';
  }

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other.runtimeType == runtimeType &&
            other is _$SetTitleImpl &&
            (identical(other.title, title) || other.title == title));
  }

  @override
  int get hashCode => Object.hash(runtimeType, title);

  @JsonKey(ignore: true)
  @override
  @pragma('vm:prefer-inline')
  _$$SetTitleImplCopyWith<_$SetTitleImpl> get copyWith =>
      __$$SetTitleImplCopyWithImpl<_$SetTitleImpl>(this, _$identity);

  @override
  @optionalTypeArgs
  TResult when<TResult extends Object?>({
    required TResult Function() clearSearchField,
    required TResult Function(BuildContext context) setQuery,
    required TResult Function() searchLocations,
    required TResult Function(GoogleMapController controller) setMapController,
    required TResult Function(bool value) setChoosing,
    required TResult Function(Place place) goToLocation,
    required TResult Function(LatLng location) goToMyLocation,
    required TResult Function(LatLng latLng) goToTappedLocation,
    required TResult Function(String title) setTitle,
    required TResult Function(bool? hasBack, BuildContext context,
            VoidCallback? onBack, VoidCallback? onGoMain)
        saveLocalAddress,
    required TResult Function(LatLng? latLng) fetchLocationName,
  }) {
    return setTitle(title);
  }

  @override
  @optionalTypeArgs
  TResult? whenOrNull<TResult extends Object?>({
    TResult? Function()? clearSearchField,
    TResult? Function(BuildContext context)? setQuery,
    TResult? Function()? searchLocations,
    TResult? Function(GoogleMapController controller)? setMapController,
    TResult? Function(bool value)? setChoosing,
    TResult? Function(Place place)? goToLocation,
    TResult? Function(LatLng location)? goToMyLocation,
    TResult? Function(LatLng latLng)? goToTappedLocation,
    TResult? Function(String title)? setTitle,
    TResult? Function(bool? hasBack, BuildContext context, VoidCallback? onBack,
            VoidCallback? onGoMain)?
        saveLocalAddress,
    TResult? Function(LatLng? latLng)? fetchLocationName,
  }) {
    return setTitle?.call(title);
  }

  @override
  @optionalTypeArgs
  TResult maybeWhen<TResult extends Object?>({
    TResult Function()? clearSearchField,
    TResult Function(BuildContext context)? setQuery,
    TResult Function()? searchLocations,
    TResult Function(GoogleMapController controller)? setMapController,
    TResult Function(bool value)? setChoosing,
    TResult Function(Place place)? goToLocation,
    TResult Function(LatLng location)? goToMyLocation,
    TResult Function(LatLng latLng)? goToTappedLocation,
    TResult Function(String title)? setTitle,
    TResult Function(bool? hasBack, BuildContext context, VoidCallback? onBack,
            VoidCallback? onGoMain)?
        saveLocalAddress,
    TResult Function(LatLng? latLng)? fetchLocationName,
    required TResult orElse(),
  }) {
    if (setTitle != null) {
      return setTitle(title);
    }
    return orElse();
  }

  @override
  @optionalTypeArgs
  TResult map<TResult extends Object?>({
    required TResult Function(ClearSearchField value) clearSearchField,
    required TResult Function(SetQuery value) setQuery,
    required TResult Function(SearchLocations value) searchLocations,
    required TResult Function(SetMapController value) setMapController,
    required TResult Function(SetChoosing value) setChoosing,
    required TResult Function(GoToLocation value) goToLocation,
    required TResult Function(GoToMyLocation value) goToMyLocation,
    required TResult Function(GoToTappedLocation value) goToTappedLocation,
    required TResult Function(SetTitle value) setTitle,
    required TResult Function(SaveLocalAddress value) saveLocalAddress,
    required TResult Function(FetchLocationName value) fetchLocationName,
  }) {
    return setTitle(this);
  }

  @override
  @optionalTypeArgs
  TResult? mapOrNull<TResult extends Object?>({
    TResult? Function(ClearSearchField value)? clearSearchField,
    TResult? Function(SetQuery value)? setQuery,
    TResult? Function(SearchLocations value)? searchLocations,
    TResult? Function(SetMapController value)? setMapController,
    TResult? Function(SetChoosing value)? setChoosing,
    TResult? Function(GoToLocation value)? goToLocation,
    TResult? Function(GoToMyLocation value)? goToMyLocation,
    TResult? Function(GoToTappedLocation value)? goToTappedLocation,
    TResult? Function(SetTitle value)? setTitle,
    TResult? Function(SaveLocalAddress value)? saveLocalAddress,
    TResult? Function(FetchLocationName value)? fetchLocationName,
  }) {
    return setTitle?.call(this);
  }

  @override
  @optionalTypeArgs
  TResult maybeMap<TResult extends Object?>({
    TResult Function(ClearSearchField value)? clearSearchField,
    TResult Function(SetQuery value)? setQuery,
    TResult Function(SearchLocations value)? searchLocations,
    TResult Function(SetMapController value)? setMapController,
    TResult Function(SetChoosing value)? setChoosing,
    TResult Function(GoToLocation value)? goToLocation,
    TResult Function(GoToMyLocation value)? goToMyLocation,
    TResult Function(GoToTappedLocation value)? goToTappedLocation,
    TResult Function(SetTitle value)? setTitle,
    TResult Function(SaveLocalAddress value)? saveLocalAddress,
    TResult Function(FetchLocationName value)? fetchLocationName,
    required TResult orElse(),
  }) {
    if (setTitle != null) {
      return setTitle(this);
    }
    return orElse();
  }
}

abstract class SetTitle implements MapEvent {
  const factory SetTitle(final String title) = _$SetTitleImpl;

  String get title;
  @JsonKey(ignore: true)
  _$$SetTitleImplCopyWith<_$SetTitleImpl> get copyWith =>
      throw _privateConstructorUsedError;
}

/// @nodoc
abstract class _$$SaveLocalAddressImplCopyWith<$Res> {
  factory _$$SaveLocalAddressImplCopyWith(_$SaveLocalAddressImpl value,
          $Res Function(_$SaveLocalAddressImpl) then) =
      __$$SaveLocalAddressImplCopyWithImpl<$Res>;
  @useResult
  $Res call(
      {bool? hasBack,
      BuildContext context,
      VoidCallback? onBack,
      VoidCallback? onGoMain});
}

/// @nodoc
class __$$SaveLocalAddressImplCopyWithImpl<$Res>
    extends _$MapEventCopyWithImpl<$Res, _$SaveLocalAddressImpl>
    implements _$$SaveLocalAddressImplCopyWith<$Res> {
  __$$SaveLocalAddressImplCopyWithImpl(_$SaveLocalAddressImpl _value,
      $Res Function(_$SaveLocalAddressImpl) _then)
      : super(_value, _then);

  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? hasBack = freezed,
    Object? context = null,
    Object? onBack = freezed,
    Object? onGoMain = freezed,
  }) {
    return _then(_$SaveLocalAddressImpl(
      freezed == hasBack
          ? _value.hasBack
          : hasBack // ignore: cast_nullable_to_non_nullable
              as bool?,
      context: null == context
          ? _value.context
          : context // ignore: cast_nullable_to_non_nullable
              as BuildContext,
      onBack: freezed == onBack
          ? _value.onBack
          : onBack // ignore: cast_nullable_to_non_nullable
              as VoidCallback?,
      onGoMain: freezed == onGoMain
          ? _value.onGoMain
          : onGoMain // ignore: cast_nullable_to_non_nullable
              as VoidCallback?,
    ));
  }
}

/// @nodoc

class _$SaveLocalAddressImpl implements SaveLocalAddress {
  const _$SaveLocalAddressImpl(this.hasBack,
      {required this.context, this.onBack, this.onGoMain});

  @override
  final bool? hasBack;
  @override
  final BuildContext context;
  @override
  final VoidCallback? onBack;
  @override
  final VoidCallback? onGoMain;

  @override
  String toString() {
    return 'MapEvent.saveLocalAddress(hasBack: $hasBack, context: $context, onBack: $onBack, onGoMain: $onGoMain)';
  }

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other.runtimeType == runtimeType &&
            other is _$SaveLocalAddressImpl &&
            (identical(other.hasBack, hasBack) || other.hasBack == hasBack) &&
            (identical(other.context, context) || other.context == context) &&
            (identical(other.onBack, onBack) || other.onBack == onBack) &&
            (identical(other.onGoMain, onGoMain) ||
                other.onGoMain == onGoMain));
  }

  @override
  int get hashCode =>
      Object.hash(runtimeType, hasBack, context, onBack, onGoMain);

  @JsonKey(ignore: true)
  @override
  @pragma('vm:prefer-inline')
  _$$SaveLocalAddressImplCopyWith<_$SaveLocalAddressImpl> get copyWith =>
      __$$SaveLocalAddressImplCopyWithImpl<_$SaveLocalAddressImpl>(
          this, _$identity);

  @override
  @optionalTypeArgs
  TResult when<TResult extends Object?>({
    required TResult Function() clearSearchField,
    required TResult Function(BuildContext context) setQuery,
    required TResult Function() searchLocations,
    required TResult Function(GoogleMapController controller) setMapController,
    required TResult Function(bool value) setChoosing,
    required TResult Function(Place place) goToLocation,
    required TResult Function(LatLng location) goToMyLocation,
    required TResult Function(LatLng latLng) goToTappedLocation,
    required TResult Function(String title) setTitle,
    required TResult Function(bool? hasBack, BuildContext context,
            VoidCallback? onBack, VoidCallback? onGoMain)
        saveLocalAddress,
    required TResult Function(LatLng? latLng) fetchLocationName,
  }) {
    return saveLocalAddress(hasBack, context, onBack, onGoMain);
  }

  @override
  @optionalTypeArgs
  TResult? whenOrNull<TResult extends Object?>({
    TResult? Function()? clearSearchField,
    TResult? Function(BuildContext context)? setQuery,
    TResult? Function()? searchLocations,
    TResult? Function(GoogleMapController controller)? setMapController,
    TResult? Function(bool value)? setChoosing,
    TResult? Function(Place place)? goToLocation,
    TResult? Function(LatLng location)? goToMyLocation,
    TResult? Function(LatLng latLng)? goToTappedLocation,
    TResult? Function(String title)? setTitle,
    TResult? Function(bool? hasBack, BuildContext context, VoidCallback? onBack,
            VoidCallback? onGoMain)?
        saveLocalAddress,
    TResult? Function(LatLng? latLng)? fetchLocationName,
  }) {
    return saveLocalAddress?.call(hasBack, context, onBack, onGoMain);
  }

  @override
  @optionalTypeArgs
  TResult maybeWhen<TResult extends Object?>({
    TResult Function()? clearSearchField,
    TResult Function(BuildContext context)? setQuery,
    TResult Function()? searchLocations,
    TResult Function(GoogleMapController controller)? setMapController,
    TResult Function(bool value)? setChoosing,
    TResult Function(Place place)? goToLocation,
    TResult Function(LatLng location)? goToMyLocation,
    TResult Function(LatLng latLng)? goToTappedLocation,
    TResult Function(String title)? setTitle,
    TResult Function(bool? hasBack, BuildContext context, VoidCallback? onBack,
            VoidCallback? onGoMain)?
        saveLocalAddress,
    TResult Function(LatLng? latLng)? fetchLocationName,
    required TResult orElse(),
  }) {
    if (saveLocalAddress != null) {
      return saveLocalAddress(hasBack, context, onBack, onGoMain);
    }
    return orElse();
  }

  @override
  @optionalTypeArgs
  TResult map<TResult extends Object?>({
    required TResult Function(ClearSearchField value) clearSearchField,
    required TResult Function(SetQuery value) setQuery,
    required TResult Function(SearchLocations value) searchLocations,
    required TResult Function(SetMapController value) setMapController,
    required TResult Function(SetChoosing value) setChoosing,
    required TResult Function(GoToLocation value) goToLocation,
    required TResult Function(GoToMyLocation value) goToMyLocation,
    required TResult Function(GoToTappedLocation value) goToTappedLocation,
    required TResult Function(SetTitle value) setTitle,
    required TResult Function(SaveLocalAddress value) saveLocalAddress,
    required TResult Function(FetchLocationName value) fetchLocationName,
  }) {
    return saveLocalAddress(this);
  }

  @override
  @optionalTypeArgs
  TResult? mapOrNull<TResult extends Object?>({
    TResult? Function(ClearSearchField value)? clearSearchField,
    TResult? Function(SetQuery value)? setQuery,
    TResult? Function(SearchLocations value)? searchLocations,
    TResult? Function(SetMapController value)? setMapController,
    TResult? Function(SetChoosing value)? setChoosing,
    TResult? Function(GoToLocation value)? goToLocation,
    TResult? Function(GoToMyLocation value)? goToMyLocation,
    TResult? Function(GoToTappedLocation value)? goToTappedLocation,
    TResult? Function(SetTitle value)? setTitle,
    TResult? Function(SaveLocalAddress value)? saveLocalAddress,
    TResult? Function(FetchLocationName value)? fetchLocationName,
  }) {
    return saveLocalAddress?.call(this);
  }

  @override
  @optionalTypeArgs
  TResult maybeMap<TResult extends Object?>({
    TResult Function(ClearSearchField value)? clearSearchField,
    TResult Function(SetQuery value)? setQuery,
    TResult Function(SearchLocations value)? searchLocations,
    TResult Function(SetMapController value)? setMapController,
    TResult Function(SetChoosing value)? setChoosing,
    TResult Function(GoToLocation value)? goToLocation,
    TResult Function(GoToMyLocation value)? goToMyLocation,
    TResult Function(GoToTappedLocation value)? goToTappedLocation,
    TResult Function(SetTitle value)? setTitle,
    TResult Function(SaveLocalAddress value)? saveLocalAddress,
    TResult Function(FetchLocationName value)? fetchLocationName,
    required TResult orElse(),
  }) {
    if (saveLocalAddress != null) {
      return saveLocalAddress(this);
    }
    return orElse();
  }
}

abstract class SaveLocalAddress implements MapEvent {
  const factory SaveLocalAddress(final bool? hasBack,
      {required final BuildContext context,
      final VoidCallback? onBack,
      final VoidCallback? onGoMain}) = _$SaveLocalAddressImpl;

  bool? get hasBack;
  BuildContext get context;
  VoidCallback? get onBack;
  VoidCallback? get onGoMain;
  @JsonKey(ignore: true)
  _$$SaveLocalAddressImplCopyWith<_$SaveLocalAddressImpl> get copyWith =>
      throw _privateConstructorUsedError;
}

/// @nodoc
abstract class _$$FetchLocationNameImplCopyWith<$Res> {
  factory _$$FetchLocationNameImplCopyWith(_$FetchLocationNameImpl value,
          $Res Function(_$FetchLocationNameImpl) then) =
      __$$FetchLocationNameImplCopyWithImpl<$Res>;
  @useResult
  $Res call({LatLng? latLng});
}

/// @nodoc
class __$$FetchLocationNameImplCopyWithImpl<$Res>
    extends _$MapEventCopyWithImpl<$Res, _$FetchLocationNameImpl>
    implements _$$FetchLocationNameImplCopyWith<$Res> {
  __$$FetchLocationNameImplCopyWithImpl(_$FetchLocationNameImpl _value,
      $Res Function(_$FetchLocationNameImpl) _then)
      : super(_value, _then);

  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? latLng = freezed,
  }) {
    return _then(_$FetchLocationNameImpl(
      freezed == latLng
          ? _value.latLng
          : latLng // ignore: cast_nullable_to_non_nullable
              as LatLng?,
    ));
  }
}

/// @nodoc

class _$FetchLocationNameImpl implements FetchLocationName {
  const _$FetchLocationNameImpl(this.latLng);

  @override
  final LatLng? latLng;

  @override
  String toString() {
    return 'MapEvent.fetchLocationName(latLng: $latLng)';
  }

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other.runtimeType == runtimeType &&
            other is _$FetchLocationNameImpl &&
            (identical(other.latLng, latLng) || other.latLng == latLng));
  }

  @override
  int get hashCode => Object.hash(runtimeType, latLng);

  @JsonKey(ignore: true)
  @override
  @pragma('vm:prefer-inline')
  _$$FetchLocationNameImplCopyWith<_$FetchLocationNameImpl> get copyWith =>
      __$$FetchLocationNameImplCopyWithImpl<_$FetchLocationNameImpl>(
          this, _$identity);

  @override
  @optionalTypeArgs
  TResult when<TResult extends Object?>({
    required TResult Function() clearSearchField,
    required TResult Function(BuildContext context) setQuery,
    required TResult Function() searchLocations,
    required TResult Function(GoogleMapController controller) setMapController,
    required TResult Function(bool value) setChoosing,
    required TResult Function(Place place) goToLocation,
    required TResult Function(LatLng location) goToMyLocation,
    required TResult Function(LatLng latLng) goToTappedLocation,
    required TResult Function(String title) setTitle,
    required TResult Function(bool? hasBack, BuildContext context,
            VoidCallback? onBack, VoidCallback? onGoMain)
        saveLocalAddress,
    required TResult Function(LatLng? latLng) fetchLocationName,
  }) {
    return fetchLocationName(latLng);
  }

  @override
  @optionalTypeArgs
  TResult? whenOrNull<TResult extends Object?>({
    TResult? Function()? clearSearchField,
    TResult? Function(BuildContext context)? setQuery,
    TResult? Function()? searchLocations,
    TResult? Function(GoogleMapController controller)? setMapController,
    TResult? Function(bool value)? setChoosing,
    TResult? Function(Place place)? goToLocation,
    TResult? Function(LatLng location)? goToMyLocation,
    TResult? Function(LatLng latLng)? goToTappedLocation,
    TResult? Function(String title)? setTitle,
    TResult? Function(bool? hasBack, BuildContext context, VoidCallback? onBack,
            VoidCallback? onGoMain)?
        saveLocalAddress,
    TResult? Function(LatLng? latLng)? fetchLocationName,
  }) {
    return fetchLocationName?.call(latLng);
  }

  @override
  @optionalTypeArgs
  TResult maybeWhen<TResult extends Object?>({
    TResult Function()? clearSearchField,
    TResult Function(BuildContext context)? setQuery,
    TResult Function()? searchLocations,
    TResult Function(GoogleMapController controller)? setMapController,
    TResult Function(bool value)? setChoosing,
    TResult Function(Place place)? goToLocation,
    TResult Function(LatLng location)? goToMyLocation,
    TResult Function(LatLng latLng)? goToTappedLocation,
    TResult Function(String title)? setTitle,
    TResult Function(bool? hasBack, BuildContext context, VoidCallback? onBack,
            VoidCallback? onGoMain)?
        saveLocalAddress,
    TResult Function(LatLng? latLng)? fetchLocationName,
    required TResult orElse(),
  }) {
    if (fetchLocationName != null) {
      return fetchLocationName(latLng);
    }
    return orElse();
  }

  @override
  @optionalTypeArgs
  TResult map<TResult extends Object?>({
    required TResult Function(ClearSearchField value) clearSearchField,
    required TResult Function(SetQuery value) setQuery,
    required TResult Function(SearchLocations value) searchLocations,
    required TResult Function(SetMapController value) setMapController,
    required TResult Function(SetChoosing value) setChoosing,
    required TResult Function(GoToLocation value) goToLocation,
    required TResult Function(GoToMyLocation value) goToMyLocation,
    required TResult Function(GoToTappedLocation value) goToTappedLocation,
    required TResult Function(SetTitle value) setTitle,
    required TResult Function(SaveLocalAddress value) saveLocalAddress,
    required TResult Function(FetchLocationName value) fetchLocationName,
  }) {
    return fetchLocationName(this);
  }

  @override
  @optionalTypeArgs
  TResult? mapOrNull<TResult extends Object?>({
    TResult? Function(ClearSearchField value)? clearSearchField,
    TResult? Function(SetQuery value)? setQuery,
    TResult? Function(SearchLocations value)? searchLocations,
    TResult? Function(SetMapController value)? setMapController,
    TResult? Function(SetChoosing value)? setChoosing,
    TResult? Function(GoToLocation value)? goToLocation,
    TResult? Function(GoToMyLocation value)? goToMyLocation,
    TResult? Function(GoToTappedLocation value)? goToTappedLocation,
    TResult? Function(SetTitle value)? setTitle,
    TResult? Function(SaveLocalAddress value)? saveLocalAddress,
    TResult? Function(FetchLocationName value)? fetchLocationName,
  }) {
    return fetchLocationName?.call(this);
  }

  @override
  @optionalTypeArgs
  TResult maybeMap<TResult extends Object?>({
    TResult Function(ClearSearchField value)? clearSearchField,
    TResult Function(SetQuery value)? setQuery,
    TResult Function(SearchLocations value)? searchLocations,
    TResult Function(SetMapController value)? setMapController,
    TResult Function(SetChoosing value)? setChoosing,
    TResult Function(GoToLocation value)? goToLocation,
    TResult Function(GoToMyLocation value)? goToMyLocation,
    TResult Function(GoToTappedLocation value)? goToTappedLocation,
    TResult Function(SetTitle value)? setTitle,
    TResult Function(SaveLocalAddress value)? saveLocalAddress,
    TResult Function(FetchLocationName value)? fetchLocationName,
    required TResult orElse(),
  }) {
    if (fetchLocationName != null) {
      return fetchLocationName(this);
    }
    return orElse();
  }
}

abstract class FetchLocationName implements MapEvent {
  const factory FetchLocationName(final LatLng? latLng) =
      _$FetchLocationNameImpl;

  LatLng? get latLng;
  @JsonKey(ignore: true)
  _$$FetchLocationNameImplCopyWith<_$FetchLocationNameImpl> get copyWith =>
      throw _privateConstructorUsedError;
}

/// @nodoc
mixin _$MapState {
  bool get isSearching => throw _privateConstructorUsedError;
  bool get isSearchLoading => throw _privateConstructorUsedError;
  bool get isChoosing => throw _privateConstructorUsedError;
  List<Place> get searchedPlaces => throw _privateConstructorUsedError;
  String get title => throw _privateConstructorUsedError;
  TextEditingController? get textController =>
      throw _privateConstructorUsedError;
  GoogleMapController? get mapController => throw _privateConstructorUsedError;
  LatLng? get location => throw _privateConstructorUsedError;

  @JsonKey(ignore: true)
  $MapStateCopyWith<MapState> get copyWith =>
      throw _privateConstructorUsedError;
}

/// @nodoc
abstract class $MapStateCopyWith<$Res> {
  factory $MapStateCopyWith(MapState value, $Res Function(MapState) then) =
      _$MapStateCopyWithImpl<$Res, MapState>;
  @useResult
  $Res call(
      {bool isSearching,
      bool isSearchLoading,
      bool isChoosing,
      List<Place> searchedPlaces,
      String title,
      TextEditingController? textController,
      GoogleMapController? mapController,
      LatLng? location});
}

/// @nodoc
class _$MapStateCopyWithImpl<$Res, $Val extends MapState>
    implements $MapStateCopyWith<$Res> {
  _$MapStateCopyWithImpl(this._value, this._then);

  // ignore: unused_field
  final $Val _value;
  // ignore: unused_field
  final $Res Function($Val) _then;

  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? isSearching = null,
    Object? isSearchLoading = null,
    Object? isChoosing = null,
    Object? searchedPlaces = null,
    Object? title = null,
    Object? textController = freezed,
    Object? mapController = freezed,
    Object? location = freezed,
  }) {
    return _then(_value.copyWith(
      isSearching: null == isSearching
          ? _value.isSearching
          : isSearching // ignore: cast_nullable_to_non_nullable
              as bool,
      isSearchLoading: null == isSearchLoading
          ? _value.isSearchLoading
          : isSearchLoading // ignore: cast_nullable_to_non_nullable
              as bool,
      isChoosing: null == isChoosing
          ? _value.isChoosing
          : isChoosing // ignore: cast_nullable_to_non_nullable
              as bool,
      searchedPlaces: null == searchedPlaces
          ? _value.searchedPlaces
          : searchedPlaces // ignore: cast_nullable_to_non_nullable
              as List<Place>,
      title: null == title
          ? _value.title
          : title // ignore: cast_nullable_to_non_nullable
              as String,
      textController: freezed == textController
          ? _value.textController
          : textController // ignore: cast_nullable_to_non_nullable
              as TextEditingController?,
      mapController: freezed == mapController
          ? _value.mapController
          : mapController // ignore: cast_nullable_to_non_nullable
              as GoogleMapController?,
      location: freezed == location
          ? _value.location
          : location // ignore: cast_nullable_to_non_nullable
              as LatLng?,
    ) as $Val);
  }
}

/// @nodoc
abstract class _$$MapStateImplCopyWith<$Res>
    implements $MapStateCopyWith<$Res> {
  factory _$$MapStateImplCopyWith(
          _$MapStateImpl value, $Res Function(_$MapStateImpl) then) =
      __$$MapStateImplCopyWithImpl<$Res>;
  @override
  @useResult
  $Res call(
      {bool isSearching,
      bool isSearchLoading,
      bool isChoosing,
      List<Place> searchedPlaces,
      String title,
      TextEditingController? textController,
      GoogleMapController? mapController,
      LatLng? location});
}

/// @nodoc
class __$$MapStateImplCopyWithImpl<$Res>
    extends _$MapStateCopyWithImpl<$Res, _$MapStateImpl>
    implements _$$MapStateImplCopyWith<$Res> {
  __$$MapStateImplCopyWithImpl(
      _$MapStateImpl _value, $Res Function(_$MapStateImpl) _then)
      : super(_value, _then);

  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? isSearching = null,
    Object? isSearchLoading = null,
    Object? isChoosing = null,
    Object? searchedPlaces = null,
    Object? title = null,
    Object? textController = freezed,
    Object? mapController = freezed,
    Object? location = freezed,
  }) {
    return _then(_$MapStateImpl(
      isSearching: null == isSearching
          ? _value.isSearching
          : isSearching // ignore: cast_nullable_to_non_nullable
              as bool,
      isSearchLoading: null == isSearchLoading
          ? _value.isSearchLoading
          : isSearchLoading // ignore: cast_nullable_to_non_nullable
              as bool,
      isChoosing: null == isChoosing
          ? _value.isChoosing
          : isChoosing // ignore: cast_nullable_to_non_nullable
              as bool,
      searchedPlaces: null == searchedPlaces
          ? _value._searchedPlaces
          : searchedPlaces // ignore: cast_nullable_to_non_nullable
              as List<Place>,
      title: null == title
          ? _value.title
          : title // ignore: cast_nullable_to_non_nullable
              as String,
      textController: freezed == textController
          ? _value.textController
          : textController // ignore: cast_nullable_to_non_nullable
              as TextEditingController?,
      mapController: freezed == mapController
          ? _value.mapController
          : mapController // ignore: cast_nullable_to_non_nullable
              as GoogleMapController?,
      location: freezed == location
          ? _value.location
          : location // ignore: cast_nullable_to_non_nullable
              as LatLng?,
    ));
  }
}

/// @nodoc

class _$MapStateImpl implements _MapState {
  const _$MapStateImpl(
      {this.isSearching = false,
      this.isSearchLoading = false,
      this.isChoosing = false,
      final List<Place> searchedPlaces = const [],
      this.title = '',
      this.textController,
      this.mapController,
      this.location})
      : _searchedPlaces = searchedPlaces;

  @override
  @JsonKey()
  final bool isSearching;
  @override
  @JsonKey()
  final bool isSearchLoading;
  @override
  @JsonKey()
  final bool isChoosing;
  final List<Place> _searchedPlaces;
  @override
  @JsonKey()
  List<Place> get searchedPlaces {
    if (_searchedPlaces is EqualUnmodifiableListView) return _searchedPlaces;
    // ignore: implicit_dynamic_type
    return EqualUnmodifiableListView(_searchedPlaces);
  }

  @override
  @JsonKey()
  final String title;
  @override
  final TextEditingController? textController;
  @override
  final GoogleMapController? mapController;
  @override
  final LatLng? location;

  @override
  String toString() {
    return 'MapState(isSearching: $isSearching, isSearchLoading: $isSearchLoading, isChoosing: $isChoosing, searchedPlaces: $searchedPlaces, title: $title, textController: $textController, mapController: $mapController, location: $location)';
  }

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other.runtimeType == runtimeType &&
            other is _$MapStateImpl &&
            (identical(other.isSearching, isSearching) ||
                other.isSearching == isSearching) &&
            (identical(other.isSearchLoading, isSearchLoading) ||
                other.isSearchLoading == isSearchLoading) &&
            (identical(other.isChoosing, isChoosing) ||
                other.isChoosing == isChoosing) &&
            const DeepCollectionEquality()
                .equals(other._searchedPlaces, _searchedPlaces) &&
            (identical(other.title, title) || other.title == title) &&
            (identical(other.textController, textController) ||
                other.textController == textController) &&
            (identical(other.mapController, mapController) ||
                other.mapController == mapController) &&
            (identical(other.location, location) ||
                other.location == location));
  }

  @override
  int get hashCode => Object.hash(
      runtimeType,
      isSearching,
      isSearchLoading,
      isChoosing,
      const DeepCollectionEquality().hash(_searchedPlaces),
      title,
      textController,
      mapController,
      location);

  @JsonKey(ignore: true)
  @override
  @pragma('vm:prefer-inline')
  _$$MapStateImplCopyWith<_$MapStateImpl> get copyWith =>
      __$$MapStateImplCopyWithImpl<_$MapStateImpl>(this, _$identity);
}

abstract class _MapState implements MapState {
  const factory _MapState(
      {final bool isSearching,
      final bool isSearchLoading,
      final bool isChoosing,
      final List<Place> searchedPlaces,
      final String title,
      final TextEditingController? textController,
      final GoogleMapController? mapController,
      final LatLng? location}) = _$MapStateImpl;

  @override
  bool get isSearching;
  @override
  bool get isSearchLoading;
  @override
  bool get isChoosing;
  @override
  List<Place> get searchedPlaces;
  @override
  String get title;
  @override
  TextEditingController? get textController;
  @override
  GoogleMapController? get mapController;
  @override
  LatLng? get location;
  @override
  @JsonKey(ignore: true)
  _$$MapStateImplCopyWith<_$MapStateImpl> get copyWith =>
      throw _privateConstructorUsedError;
}
