如何将 googleMapController 传递给自定义小部件? (扑)
Posted
技术标签:
【中文标题】如何将 googleMapController 传递给自定义小部件? (扑)【英文标题】:How to pass a googleMapController to custom widget? (Flutter) 【发布时间】:2021-11-06 07:29:37 【问题描述】:在我颤动的 googleMap 上,我有 quickDialButton,它有多个按钮。其中一个应该使父 mapWidget 的相机居中,这是通过我作为参数传递的 googleMapControllet 发生的。
return Scaffold(
body: GoogleMap(
initialCameraPosition:
CameraPosition(target: LatLng(42, 23), zoom: 11.5),
myLocationButtonEnabled: false,
zoomControlsEnabled: false,
mapToolbarEnabled: false,
onMapCreated: (controller)
googleMapController = controller;
,
markers: customMarkers.toSet(),
),
floatingActionButton: MyQuickDialButton(
c: googleMapController,
latitude: userLocation.latitude,
longitude: userLocation.longitude,
),
问题是 googleMapController 在将 floatingActionButton 属性初始化到脚手架之后。初始化控制器后如何更新它。
【问题讨论】:
【参考方案1】:我没有传递这个控制器,而是创建了可以从父小部件运行控制器方法的新函数。
void _centerCamera()
googleMapController.animateCamera(CameraUpdate.newCameraPosition(
CameraPosition(
target: LatLng(userLocation.latitude, userLocation.longitude),
zoom: 16)));
...
floatingActionButton: MyQuickDialButton(
c: _centerCamera,
latitude: userLocation.latitude,
longitude: userLocation.longitude,
)
后来我只从子小部件调用函数“c”
【讨论】:
以上是关于如何将 googleMapController 传递给自定义小部件? (扑)的主要内容,如果未能解决你的问题,请参考以下文章
如何将 POST 参数传递给 Durable Function,然后将此参数传递给 Timer Triggered 函数