Unhandled Exception: Bad state: Cannot add new events after calling close

Hi there,

I am using the google map web service for places (‘package:google_maps_webservice/places.dart’) and try to got a result until now. I guess that the _handlePressButton() method is the main reason of the error but I don’t know.
Every time I am typing anything in and go back to the map (clicking anywhere on the screen) I got this error :

[VERBOSE-2:ui_dart_state.cc(157)] Unhandled Exception: Bad state: Cannot add new events after calling close
#0 _BroadcastStreamController.add (dart:async/broadcast_stream_controller.dart:251:24)
#1 Subject._add (package:rxdart/src/subjects/subject.dart:141:17)
#2 Subject.add (package:rxdart/src/subjects/subject.dart:135:5)
#3 PlacesAutocompleteState._onQueryChange. (package:flutter_google_places/src/flutter_google_places.dart:418:22)
#4 _rootRun (dart:async/zone.dart:1180:38)
#5 _CustomZone.run (dart:async/zone.dart:1077:19)
#6 _CustomZone.runGuarded (dart:async/zone.dart:979:7)
#7 _CustomZone.bindCallbackGuarded. (dart:async/zone.dart:1019:23)
#8 _rootRun (dart:async/zone.dart:1184:13)
#9 _CustomZone.run (dart:async/zone.dart:1077:19)
#10 _CustomZone.bindCallback. (dart:async/zone.dart:1003:23)
#11 Timer._createTimer. (dart:async-patch/timer_patch.dart:23:15)
#12 <…>

This is my code snippet:

 PlacesDetailsResponse aktuell;
 String placeId = '';
 List<PlacesSearchResult> places = [];
 bool isLoading = false;
 String errorMessage;
 String searchString = 'Gemüse';
 var description;

 void getPlacesbyText() async {
    setState(() {
      isLoading = true;
      errorMessage = null;
    });

    var result = await _place.searchByText(searchString);
    setState(() {
      isLoading = false;
      if (result.status == 'OK') {
        places = result.results;
        result.results.forEach((f) {});
      } else {
        errorMessage = result.errorMessage;
      }
    });
  }

  Future<void> _handlePressButton() async {
    try {
      Prediction p = await PlacesAutocomplete.show(
          context: context,
          apiKey: keyGoogleApi,
          mode: Mode.overlay,
          language: 'de',
      ),
      
      placeId = p.placeId as Prediction;
      description = p.description;
      print(placeId);
      fetchPlaceDetail(this.placeId);
    } catch (e) {
      print('Press button failed');
      return;
    }
  }

  void fetchPlaceDetail(String placeId) async {
    print('fetchingdetail with place id $placeId');
    setState(() {
      isLoading = true;
    });
    PlacesDetailsResponse place = await _place.getDetailsByPlaceId(placeId);
    if (mounted) {
      setState(() {
        isLoading = false;
        if (place.status == 'OK') {
          aktuell = place;
          print('Anfrage: $aktuell');
          description = aktuell.result.name;
        } else {
          print(place.status);
          print('Anfrage gescheitert');

          Future.delayed(const Duration(milliseconds: 3000), () {
            fetchPlaceDetail(placeId);
          });
        }
      });
    }
  }

Thank you in advance!