gpt4 book ai didi

flutter - 如何在 child 中使用此条件语句(消费者)

转载 作者:行者123 更新时间:2023-12-03 03:50:40 24 4
gpt4 key购买 nike

我无法获得if(绘图)Draw(onDrawEnd:_onDrawPolygon);出于某种原因通过的声明。有人知道怎么做这个吗?请指教。

body: Stack(children: <Widget>[
SizedBox(
width:
MediaQuery.of(context).size.width, // or use fixed size like 200
height: MediaQuery.of(context).size.height,
child: Consumer<ProviderMaps>(builder: (context, Provmap, widget) {
return GoogleMap(
myLocationEnabled: true,
compassEnabled: true,
mapToolbarEnabled: true,
zoomControlsEnabled: true,
zoomGesturesEnabled: true,
onLongPress: _addMarkerLongPressed,
myLocationButtonEnabled: false,
mapType: maptype,
onTap: (latLng) {
_selectCenterCircle(latLng);
},
onMapCreated: (GoogleMapController controller) {
mapController = controller;
_controller.complete(controller);
isMapCreated = true;
changeMapMode();
subscription.pause();
changeMapType();
setState(() {});
},
initialCameraPosition:
CameraPosition(target: LatLng(lat, lng), zoom: 10.0),
circles: _getCircles(),
markers: _getMarkers(),
polygons: _getPolygons()
(() {
if (drawing) Draw(onDrawEnd: _onDrawPolygon);
}()));
}),
),

Column(children: <Widget>[
if (enableFreeDraw)
FloatingActionButton(
上面的代码段运行后,我看到的错误是, NoSuchMethodError _CompactLinkedHashSet<Polygon> has no instance method call..我猜它正在尝试从多边形中提取:_getPolygons()。我不知道如何使用((){包装器,或者即使那是我应该使用的包装器。
编辑:
抱歉,不清楚。我对Dart还是很陌生,我无法解决以上问题为何无法解决的问题。但是,这确实有效:
Expanded(
child: Stack(
alignment: Alignment.bottomRight,
children: <Widget>[
GoogleMap(
mapType: MapType.normal,
initialCameraPosition: CameraPosition(
target: centerCamera,
zoom: zoomCamera,
),
myLocationEnabled: true,
myLocationButtonEnabled: false,
onMapCreated: (GoogleMapController controller) {
googleMapController = controller;
},
onTap: (latLng) {
_selectCenterCircle(latLng);
},
onCameraMove: (position) {
centerCamera = position.target;
zoomCamera = position.zoom;
},
circles: _getCircles(),
markers: _getMarkers(),
polygons: _getPolygons(),
),
// if (!drawing) _mapButtons(),
if (drawing)
Draw(
onDrawEnd: _onDrawPolygon,
),
],
),
),
我在第一组代码中尝试使用的部分是:
if(绘图)Draw(onDrawEnd:_onDrawPolygon);
它无需消费者声明即可工作。否则无法正常工作。

最佳答案

您应该写:

if (dawing != null)...[
Draw(onDrawEnd: _onDrawPolygon);
],

关于flutter - 如何在 child 中使用此条件语句(消费者),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63562755/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com