我正在尝试创建一个通用颤振功能,该功能会显示一个对话框,该对话框会自动将当前距离刷新到固定位置?当对话框处于活动状态时,它将显示从当前位置到固定位置(目标)的距离(以米为单位),并随着位置的变化自动更新。
下面的代码在对话框被激活的那一刻完成了这一点,但是当用户移动时我没有成功刷新距离。我怀疑它涉及在 showDialog 中添加 StatefulBuilder,但还没有找到解决方案。
提前感谢您的任何帮助。
_displayTargetDistance(BuildContext context, Position theTarget) async {
Geolocator geolocator = Geolocator();
geolocator.forceAndroidLocationManager;
Position position = await geolocator.getCurrentPosition(desiredAccuracy: LocationAccuracy.best);
double distanceInMeters = await Geolocator().distanceBetween(theTarget.latitude, theTarget.longitude, position.latitude, position.longitude);
String str = distanceInMeters.toString() + " Meters";
return showDialog(
context: context,
builder: (context) {
return AlertDialog(
title: Text('Distance to Target'),
content: Text(str),
actions: <Widget>[
new FlatButton(
child: new Text('OK'),
onPressed: () {
Navigator.of(context).pop();
},
),
],
);
});
}