我想显示circularprogressindicator()
,直到完成Googlemap
。
我使用了FutureBuilder
,但是没有用。
我的代码
Container(
height:100,
child: FutureBuilder(
future: googlemap()
builder: (context, snapshot){
if(snapshot.hasdata){
return snapshot.data;
}
else{
return CircularProgressIndicator();
}
}
)
)
Futurbuilder
Futur<Widget> googlemap() async{
Completer<GoogleMapController> _controller = Completer();
return await Googlemap(
mapType: MapType.normal,
initialCameraPosition: CameraPosition(
target: LatLng(XX.XXXXXX, XXX.XXXXXX),
zoom: 17.0
)
onMapCreated: (GoogleMapController controller){
_controller.complete(controller);
},
myLocationEnabled: false,
myLocationButtonEnabled: false,
compassEnabled: false,
zoomGesturesEnabled: false,
rotateGesturesEnabled: false,
scrollGesturesEnabled: false,
tiltGesturesEnabled: false,
markers: Set<Marker>.of(_markers)
)
}
结果
我可以在这里得到一些提示吗?
答案 0 :(得分:0)
我还没有解决,但是我找到了替代方法。
我的解决方案
bool splash = false;
@override
void initState() {
// TODO: implement initState
super.initState();
Future.delayed(Duration(seconds: 2), (){
setState(() {
splash = true;
});
});
}
小部件
@override
Widget build(BuildContext context) {
return splash ? SafeArea(
child: ListView(
children: [
//googlemap1(),
//googlemap2(),
//googlemap3(),
//googlemap4(),
],
),
) : Container(
child: Center(
child: CircularProgressIndicator()
),
);
}
请让我知道是否有比这更好的方法。