问题描述
如果我定义了这样的函数
getTimeAndDuration(LatLng origin,LatLng dest) async {
try {
http.Response response = await http.get(
'https://maps.googleapis.com/maps/api/distancematrix/json?units=imperial'
'&origins=${origin.latitude},${origin.longitude}'
'&destinations=${dest.latitude},${dest.longitude}'
'&key=$googleAPIkey'
'&mode=$_mode',);
var body = json.decode(response.body);
mapData = MapData.fromJson(body);
if (_mode != "Choose Mode") {
if (mapData.rows[0].elements[0].status.toString() == "OK" &&
mapData.status.toString() == "OK") {
setState(() {
showData = true;
});
} else {
// noAvailbleAlert(context);
}
} else {
// noChooseAlert(context);
}
print("Helloooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo");
print(mapData.rows[0].elements[0].duration.text);
print(mapData.rows[0].elements[0].distance.text);
return mapData;
} catch (error) {
print(error);
}
}
我想用这样的按钮来调用它:
Widget goButton() {
return Container(
child: FlatButton(
onpressed: () => getTimeAndDuration(LatLng(origin),LatLng(dest)),color: Colors.red,child: Text(
"Go",style: TextStyle(color: Colors.white),)));
}
“ onpressed”语法如何正常调用该函数?我无法正常工作。
解决方法
尝试一下:
onPressed: () => getTimeAndDuration(origin,dest)