
我在您的代码中看到了多个错误。
首先,您的代码未编译
Double
Dart语言中的type是小写。- 您不应该
double
使用empty 初始化变量String
。
其次,将全局状态与异步调用一起使用。如果仅将参数传递给getDistance方法,那会更好。像这样:
Future<double> getDistance(double lat, double long) async { final distanceInMeters = await Geolocator().distanceBetween( currentLocation.latitude, currentLocation.longitude, lat, lng ); return distanceInMeters / 1000;}最后,您应该使用FutureBuilder调用
getDistance:
ListView.separated( itemCount: content.length, separatorBuilder: (context, position) { // return a separator widget; }, itemBuilder: (context, position) { final current = content[position]; return FutureBuilder<String>( future: getDistance(current.lat, current.long) .then((value) => value.toString()), builder: (context, snapshot) { return Container( child: Column( children: <Widget>[new Text(snapshot.data)], ), ); });});欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)