如何获取 flutter_map 的 MapController() 流事件?扑
How to get flutter_map's MapController() stream events? Flutter
我正在尝试按照此处的建议从 MapController()
收听 MapEvents
https://github.com/fleaflet/flutter_map/issues/877#issuecomment-825545206 as
@override
void initState() {
super.initState();
_mapController.mapEventStream.where((event) => event is MapEventMoveEnd).listen((event) {
// TODO: You code
});
}
问题是我在 _mapController
中没有 mapEventStream
可用选项。
这只是一个包版本问题还是我做错了什么??
我仍在使用 flutter_map: ^0.10.1 因为我必须更新许多其他包..
是的,您的软件包版本太旧,无法使用该功能。您至少需要 0.11.0 才能使用 mapEventStream
,尽管您可以使用 0.10.1+1,具体取决于在你的用例上。
查看 lib/src/map/map.dart 的 commit history(带有 MapController 代码的文件),有两个提交很有趣:
- July 9, 2020:在第 62 行,添加了一个名为
position
的 MapPosition
流。
- Jan 29, 2021:同样在第 62 行,
position
更改为 mapEventStream
,其流类型更改为发出 MapEvent
个对象。
现在查看 flutter_map version history,包含上述第一次提交的最早版本是 0.10.1+1,要获得后一种形式,您需要 0.11.0。
我已经在我的编辑器中测试了它们各自版本中两个 getter 的存在。
我正在尝试按照此处的建议从 MapController()
收听 MapEvents
https://github.com/fleaflet/flutter_map/issues/877#issuecomment-825545206 as
@override
void initState() {
super.initState();
_mapController.mapEventStream.where((event) => event is MapEventMoveEnd).listen((event) {
// TODO: You code
});
}
问题是我在 _mapController
中没有 mapEventStream
可用选项。
这只是一个包版本问题还是我做错了什么??
我仍在使用 flutter_map: ^0.10.1 因为我必须更新许多其他包..
是的,您的软件包版本太旧,无法使用该功能。您至少需要 0.11.0 才能使用 mapEventStream
,尽管您可以使用 0.10.1+1,具体取决于在你的用例上。
查看 lib/src/map/map.dart 的 commit history(带有 MapController 代码的文件),有两个提交很有趣:
- July 9, 2020:在第 62 行,添加了一个名为
position
的MapPosition
流。 - Jan 29, 2021:同样在第 62 行,
position
更改为mapEventStream
,其流类型更改为发出MapEvent
个对象。
现在查看 flutter_map version history,包含上述第一次提交的最早版本是 0.10.1+1,要获得后一种形式,您需要 0.11.0。
我已经在我的编辑器中测试了它们各自版本中两个 getter 的存在。