flutter - 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;
我尝试了多种方法,但没有任何效果,有人可以帮助我吗?
解决方案
如果您使用的是 Flutter 2.5.3 及更高版本,您可以在变量声明前添加一个后期,即late GoogleMapController _googleMapController;
在您的 googlemap 小部件中,您可以正常使用该变量onMapCreated: (controller) => _googleMapController = controller,
推荐阅读
- excel - 让 Excel 在特定时间显示数据
- reactjs - redux 逻辑 - 来自 mysql 的功能组件调度填充
- java - Spring Integration DSL语法问题——如何动态构造子流?
- javascript - 使用 javascript 自动化 Google 表单
- python - 查看函数停止在 Python 中定位定义的类
- arrays - C - 在结构中使用字符数组
- java - 使用线程池同步银行java
- java - 在 JTable 中选择一行时,JButton 未重新启用
- laravel - 如何在项目文件夹 Php Laravel 之外上传图片?
- javascript - “shadowRoot.querySelector”不适用于 Web 组件中的 lit-element