0

我正在尝试按照此处的建议MapEvents收听https://github.com/fleaflet/flutter_map/issues/877#issuecomment-825545206作为MapController()

@override
  void initState() {
    super.initState();

    _mapController.mapEventStream.where((event) => event is MapEventMoveEnd).listen((event) {
      // TODO: You code
    });
  }

问题是我没有mapEventStream可用的选项_mapController。这只是一个包版本问题还是我做错了什么?我仍在使用 flutter_map: ^0.10.1 因为我必须更新许多其他包..

4

1 回答 1

0

是的,您的软件包版本太旧而无法使用该功能。您至少需要0.11.0才能使用,但根据您的用例mapEventStream,您可能能够摆脱0.10.1+1 。

查看 lib/src/map/map.dart(带有 MapController 代码的文件)的提交历史记录,有两个提交很有趣:

  • 2020 年 7 月 9 日:在第 62 行,添加了一个MapPosition名为的流position
  • 2021 年 1 月 29 日:第 62 行position也更改为mapEventStream,其流类型更改为发出MapEvent对象。

现在查看 flutter_map版本历史,包含上述第一次提交的最早版本是 0.10.1+1,要获得后一种形式,您需要 0.11.0。

我已经在我的编辑器中测试了两个 getter 在各自版本中的存在。

于 2021-09-15T14:05:39.023 回答