我正在使用google_maps_flutter,希望在用户在地图上执行手势操作时执行某些操作,无论是缩放/倾斜/移动/旋转。然而,我无法在GoogleMap class中使用onCameraMoveStarted属性,因为它还会识别由非手势用户操作引起的编程动画(我的应用程序利用了这些),而且没有办法(据我所知,请指正我)区分它们。
因此,我想到使用flutter widget GestureDetector,将地图包装在其中,以便我能够根据GestureDetector检测到的手势更改变量,从而间接地在地图中引起变化。
最初没有问题,它作为一个透明层,地图可以正常移动/倾斜/旋转/缩放。但是,在添加通过onPanStart、onPanUpdate或onPanEnd执行的函数后,所有手势都无法与地图交互。我想这一切都被GestureDetector捕获了,但是难道我不能异步地执行这个额外的任务,同时仍然将手势传递给子组件吗?
顺便说一下,这是结构:
因此,我想到使用flutter widget GestureDetector,将地图包装在其中,以便我能够根据GestureDetector检测到的手势更改变量,从而间接地在地图中引起变化。
最初没有问题,它作为一个透明层,地图可以正常移动/倾斜/旋转/缩放。但是,在添加通过onPanStart、onPanUpdate或onPanEnd执行的函数后,所有手势都无法与地图交互。我想这一切都被GestureDetector捕获了,但是难道我不能异步地执行这个额外的任务,同时仍然将手势传递给子组件吗?
顺便说一下,这是结构:
build(context) {
return Scaffold(
body: GestureDetector(
behavior: HitTestBehavior.deferToChild,
onPanStart: {...}
child:
GoogleMap(...),
),
...
);
}
提前感谢,非常感谢任何帮助。