我构建了一个尝试检测用户位置的应用,当检测到用户位置后,他们将重定向以发布内容(_isMockLocation=false
时...)_isMockLocation=false
时,我在内部应用了Future builder和CircularProgressIndicator,但如何应用它当应用尝试获取用户位置时...这是我的代码
_getCurrentLocation() async {
TrustLocation.start(5);
Geolocator()
.getCurrentPosition(desiredAccuracy: LocationAccuracy.best) // my app stucks here.. I want to add CircularProgressIndicator here
.then((Position position) {
TrustLocation.onChange.listen((values) {
setState(() {
_isMockLocation = values.isMockLocation;
_currentPosition = position;
});
});
if (_isMockLocation) { show alert }
else {**do something**} // when **do something**.. I have applied FutureBuilder here and applied it in Widget defaultClockOut()
})
}
GestureDetector(
onTap: failOut
? () {
print(failOut);
setState(() {
out = true;
});
_getCurrentLocation();
}
: null,
child: Container(
child: Padding(
padding: const EdgeInsets.all(8.0),
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
isVisibleOut
? defaultClockOut()
: isLoadingOut
? Text("Loading...")
: (_image == null)
? Text('Click')
: (_front.length == 0)
? Text("fail")
: failOut
? Text("fail")
: defaultClockOut()
],
),
),
),
),
Widget defaultClockOut() {
print(isVisible);
print("222");
return FutureBuilder(
future: getDataa(),
builder: (context, snap) {
if (snap.hasData) {
print(snap.data);
return Text(snap.data);
} else {
return Container(
height: 25,
child: CircularProgressIndicator(
valueColor: new AlwaysStoppedAnimation<Color>(Colors.white),
));
}
},
);
}
但是我不知道要添加CircularProgressIndicator,因为我必须做某事,当_isMockLocation=false
...可以添加CircularProgressIndicator时?