var _distancebetween导致此处出现问题。我不知道如何在我的小工具Build:中调用它
void _onCameraMove(CameraPosition cameraPosition) async {
var _distancebetween = await Geolocator().distanceBetween(
lat, lng, _lastMapPosition.latitude, _lastMapPosition.longitude);
_lastMapPosition = cameraPosition.target;
var latlnglastPosition = _lastMapPosition.toString;
setState(() {
latlnglastPosition;
_distancebetween;
_lastMapPosition;
});
}
当我为_latlinglastPosition和_lastMapPosition设置State时,我在构建中这样调用它们:
@override
Widget build(BuildContext context) {
var latlnglastPosition = _lastMapPosition.toString();
并且我可以很容易地在墨迹响应字段中显示文本。
为什么这不适用于_dinstancetweetFinal?
在我的构建中:
var _distancebetweenFinal = _distancebetween.toString();
print(_distancebetweenFinal);
print(_distancebetween);
这会打印零。。。但是,如果从我的void _onCamerMove打印,它将打印正确的值。如何将值从_onCamerMove传递到我的小部件构建中?
在initState中声明_onCameraMove()
可以工作,如下所示:
@override
void initState() {
super.initState();
_onCameraMove();
}
确保你的课程是Statefull
,并在build method
之前调用initState