LateError(LateInitializationError:field' _state@590051772;尚未初始化。)

发布于 2025-01-28 09:27:17 字数 237 浏览 5 评论 0原文

我不明白为什么我在_mapcontroller中遇到错误:

final MapController _mapController = MapController();

  @override
  void initState() {
    super.initState();
    _mapController.move(widget.latLng, _mapController.zoom);
  }

I don't understand why I'm catching an error in _mapController:

final MapController _mapController = MapController();

  @override
  void initState() {
    super.initState();
    _mapController.move(widget.latLng, _mapController.zoom);
  }

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

梦行七里 2025-02-04 09:27:17

我不知道,但是尝试吗? :

  late MapController _mapController;

  @override
  void initState() {
    _mapController = MapController();
    _mapController.move(widget.latLng, _mapController.zoom);
    super.initState();
  }

I don't know but try like this ? :

  late MapController _mapController;

  @override
  void initState() {
    _mapController = MapController();
    _mapController.move(widget.latLng, _mapController.zoom);
    super.initState();
  }
悲歌长辞 2025-02-04 09:27:17

尝试以下代码

MapController? _mapController;
//or try this-> MapController _mapController;

  @override
  void initState() {
    super.initState();
    _mapController.move(widget.latLng, _mapController.zoom);
  }

Try below code

MapController? _mapController;
//or try this-> MapController _mapController;

  @override
  void initState() {
    super.initState();
    _mapController.move(widget.latLng, _mapController.zoom);
  }
岛徒 2025-02-04 09:27:17

我认为出现问题是因为您在构建函数启动之前开始使用MapController,这对地图具有必要的配置。尝试将此行放入

 _mapController.move(widget.latLng, _mapController.zoom); 

例如(_MoveMap)的方法中,然后在按下按钮时将其调用在构建功能中。

像这样:

 child: ElevatedButton(
        child:Icon(Icons.location_on_outlined,
        color: Colors.blue,) ,
        onPressed:_moveMap ,
      )),

I think the problem arises because you start using the mapcontroller before the build function starts which has the necessary configuration for the map. Try to put this line

 _mapController.move(widget.latLng, _mapController.zoom); 

inside a method for example (_moveMap) and call it inside the build function when pressing a button.

like this:

 child: ElevatedButton(
        child:Icon(Icons.location_on_outlined,
        color: Colors.blue,) ,
        onPressed:_moveMap ,
      )),
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文