#flutter #dart
#flutter #dart
Вопрос:
Var _distancebetween вызывает здесь проблемы. Я не знаю, как вызвать это в моей сборке виджетов:
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;
});
}
когда я устанавливаю State для _latlnglastPosition и _lastMapPosition, я вызываю их в своей сборке следующим образом:
@override
Widget build(BuildContext context) {
var latlnglastPosition = _lastMapPosition.toString();
и я могу легко отобразить текст в поле Ink Response.
Почему это не сработает для _distancebetweenFinal?
В моей сборке:
var _distancebetweenFinal = _distancebetween.toString();
print(_distancebetweenFinal);
print(_distancebetween);
Это выводит нули… Но если напечатано из моего void _onCameraMove, оно печатает правильное значение. Как я могу передать значение из _onCameraMove в мою сборку виджета?
Ответ №1:
Объявление вашего _onCameraMove()
в initState может работать следующим образом:
@override
void initState() {
super.initState();
_onCameraMove();
}
И убедитесь, что вы создали свой класс Statefull
и вызываете initState
, прежде чем build method
Комментарии:
1. super.initState(); _onCameraMove(); ожидает позиционный аргумент. Расположение камеры Расположение камеры не будет работать. есть идеи? печать нулей по-прежнему без позиционного аргумента
2. ваше положение камеры равно нулю