2

プロジェクトでgoogle_maps_flutterライブラリを使用していました。マップをホットリロードするか、別のビューからマップに戻ると、次のメッセージが表示されてクラッシュします。

Exception has occurred.
PlatformException (PlatformException(error, java.lang.IllegalStateException: Trying to create an already created platform view, view id: 0
    at io.flutter.plugin.platform.PlatformViewsController$1.createPlatformView(PlatformViewsController.java:85)
    at io.flutter.embedding.engine.systemchannels.PlatformViewsChannel$1.create(PlatformViewsChannel.java:96)

だから私はマップとそのコントローラーを処分しようとしていました。この記事で処分するコード スニペットを入手した ので、このコード スニペットを追加しました。

@override
  void dispose() {
    _disposeController();
    super.dispose();
  }

  Future<void> _disposeController() async{
    final GoogleMapController controller = await _controller.future;
    //controller.dispose();
  }

しかし、最後の行のコメントを外すと、このエラーが発生していました:

 The method 'dispose' isn't defined for the class 'GoogleMapController'.
Try correcting the name to the name of an existing method, or defining a method named 'dispose'.

では、どうすればコントローラーを処分できますか?

4

1 に答える 1