我正在将 pub.dev 中的 google_maps_flutter 用于我的 flutter 应用程序。
我遇到一个问题,当我单击标记时,地图工具栏会按应有的方式从屏幕的右上角滑入,但我无法点击地图工具栏按钮。当我点击工具栏时,它就会滑回视图之外。我也无法点击放大和缩小按钮。我可以点击罗盘按钮以防万一。
奇怪的是,我只有在使用真实设备时才会出现这个问题。如果我使用模拟器,我可以点击地图工具栏按钮,将我带到 Google 地图以及放大和缩小按钮。
我不确定发生了什么事,谷歌搜索也没有找到任何结果。
我已经尝试过以下方法,
从堆栈中删除 Google 地图小部件,
我尝试添加这样的手势识别器,
gestureRecognizers: <Factory<OneSequenceGestureRecognize>> [
new Factory <OneSequenceGestureRecognizer> (
() => new EagerGestureRecognizer(),
),
].toSet()
如果您不介意为我指出解决此问题的正确方向,我将不胜感激!
试试这个手势
gestureRecognizers: Set()
..add(Factory<PanGestureRecognizer>(
() => PanGestureRecognizer()))
..add(Factory<ScaleGestureRecognizer>(
() => ScaleGestureRecognizer()))
..add(Factory<TapGestureRecognizer>(
() => TapGestureRecognizer()))
..add(Factory<VerticalDragGestureRecognizer>(
() => VerticalDragGestureRecognizer())),
我遇到了这个问题,结果发现这是由于通过 GoRouter 创建的覆盖层以及使用 ResponsiveWarpper 造成的。
builder: (context, _) {
var child = _!;
child = Toast(navigatorKey: rootNavigatorKey, child: child);
return ResponsiveWrapper.builder(
ClampingScrollWrapper.builder(context, child),
breakpointsLandscape: breakpointsLandscape,
breakpoints: breakpoints,
defaultName: MOBILE,
defaultScale: true,
minWidth: 360,
defaultScaleFactor: 0.88);
}
为了解决这个问题,我最终删除了响应式包装器。
builder: (context, child) {
return child == null? Container() : Toast(navigatorKey: rootNavigatorKey, child: child,);
},