我在 Flutter 应用程序中有两个不同的屏幕,它们使用 Google map (由 library 提供)。
第一个的小部件结构是
Scaffold -> ListView -> Visibility -> Center -> SizedBox -> GoogleMap
第二个屏幕是
Scaffold -> Container -> Column -> SizedBox -> GoogleMap
在两个屏幕上,我的 map 设置相同,但由于某种原因,第一个屏幕上的 map 没有响应任何触摸事件。
最佳答案
我也遇到了同样的问题,经过长时间的搜索,我找到了以下解决方案,所以它可以工作:
GoogleMap(
gestureRecognizers: <Factory<OneSequenceGestureRecognizer>>[
new Factory<OneSequenceGestureRecognizer>(() => new EagerGestureRecognizer(),),
].toSet(),)
原因是 EagerGestureRecognizer
是一个手势识别器,它急切地宣称在所有手势领域都取得了胜利。
引用:
Manage gestures priority between two widgets
propriedade gestureRecognizers
https://stackoverflow.com/questions/54280541/