gpt4 book ai didi

flutter - 为什么在_onCameraMove下我的功能运行如此糟糕?

转载 作者:行者123 更新时间:2023-12-03 03:50:21 27 4
gpt4 key购买 nike

如果我将latlnglastPosition传递给我的小部件,就可以了。我可以看到纬度和经度,并且随着相机位置的变化,该值以零滞后变化。但是,使用任何其他方法都会导致疯狂的滞后。这实际上是不可用的。是否有人知道是什么原因造成的,或者是否有更好的方法来做到这一点?我正在尝试显示纬度,经度,高度,距中心的距离与当前位置的距离(以米和英里为单位)。这是代码:

  void _onCameraMove(CameraPosition cameraPosition) async {

Position position = await Geolocator()
.getCurrentPosition(desiredAccuracy: LocationAccuracy.high);
lat = position.latitude;
lng = position.longitude;
alt = position.altitude;
_distancebetween = await Geolocator().distanceBetween(
_lastMapPosition.latitude, _lastMapPosition.longitude, lat, lng);
distancebetweenFinal = _distancebetween.toStringAsFixed(2);
distancebetweenFinalMiles = _distancebetween * (0.000621371);

_lastMapPosition = cameraPosition.target;
var latlnglastPosition = _lastMapPosition;
_currentZoom = cameraPosition.zoom;

setState(() {
latlnglastPosition;
distancebetweenFinal;
distancebetweenFinalMiles;
_distancebetween;
_lastMapPosition;

});
}
这是使用Flutter Google Maps。
编辑:我删除了从米到英里的转换。它没有帮助。我认为海拔没有任何影响。只是从当前的摄像机 View 位置到我的当前位置,这延迟了所有操作。也许有办法提高我收到位置信息的频率吗?也许那是把事情挂起来的...。
编辑:或者当新位置不可用时,我可以使用获取上一个已知位置吗?不确定这是否是处理此问题的最佳方法
编辑:我设置lat = 34.0; lng = 34.0;而且现在 super 快。但是,它不能解决我的问题。我需要lat和lng来反射(reflect)我的当前位置,而且似乎我在拉当前位置时受到限制,或者按我的需要频繁拉动它的成本太高。我不知道处理此问题的最佳方法。

最佳答案

我知道了(我认为):
我更换了

 Position position = await Geolocator()
.getCurrentPosition(desiredAccuracy: LocationAccuracy.high);
与:
Position position = await Geolocator().getLastKnownPosition();
我认为position.latitude和position.longitude之前的费用太高了。所以,我得到了最后一个已知职位。如果有人知道更好的方法,请告诉我。

关于flutter - 为什么在_onCameraMove下我的功能运行如此糟糕?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63758026/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com