首页 > 解决方案 > Flutter google map 如何在 GoogleMap 的小部件 onCreated 函数之外实例化 GoogleMapController 以进行测试?

问题描述

我正在使用插件 google_maps_flutter 1.2.0,我想实例化一个 GoogleMapController 来测试一些 bloc 的事件,其中控制器的值不能为空。不幸的是,我不知道该怎么做,因为据我所知,GoogleMapController 不能在 GoogleMap() 小部件的“OnCreated”函数之外实例化。

 GoogleMap(onMapCreated: (GoogleMapController controller) {
                         // Can only be instanciate here
                        },
          );

做这样的事情是不可能的:

  GoogleMapController controller = new GoogleMapsController();

我只能这样做,并且控制器为 null :

 GoogleMapController controller;

我尝试了多种方法,但没有任何效果,有人可以帮助我吗?

标签: fluttergoogle-mapstesting

解决方案


如果您使用的是 Flutter 2.5.3 及更高版本,您可以在变量声明前添加一个后期,即late GoogleMapController _googleMapController;

在您的 googlemap 小部件中,您可以正常使用该变量onMapCreated: (controller) => _googleMapController = controller,


推荐阅读