Google Maps Flutter 无法在 Android 设备上点击地图工具栏,但我可以在模拟器上点击地图工具栏?

问题描述 投票:0回答:2

我正在将 pub.dev 中的 google_maps_flutter 用于我的 flutter 应用程序。

我遇到一个问题,当我单击标记时,地图工具栏会按应有的方式从屏幕的右上角滑入,但我无法点击地图工具栏按钮。当我点击工具栏时,它就会滑回视图之外。我也无法点击放大和缩小按钮。我可以点击罗盘按钮以防万一。

奇怪的是,我只有在使用真实设备时才会出现这个问题。如果我使用模拟器,我可以点击地图工具栏按钮,将我带到 Google 地图以及放大和缩小按钮。

我不确定发生了什么事,谷歌搜索也没有找到任何结果。

我已经尝试过以下方法,

从堆栈中删除 Google 地图小部件,

我尝试添加这样的手势识别器,

gestureRecognizers: <Factory<OneSequenceGestureRecognize>> [
    new Factory <OneSequenceGestureRecognizer> (
        () => new EagerGestureRecognizer(),
    ),
].toSet()

如果您不介意为我指出解决此问题的正确方向,我将不胜感激!

flutter dart google-maps-flutter
2个回答
0
投票

试试这个手势

  gestureRecognizers: Set()
                        ..add(Factory<PanGestureRecognizer>(
                            () => PanGestureRecognizer()))
                        ..add(Factory<ScaleGestureRecognizer>(
                            () => ScaleGestureRecognizer()))
                        ..add(Factory<TapGestureRecognizer>(
                            () => TapGestureRecognizer()))
                        ..add(Factory<VerticalDragGestureRecognizer>(
                            () => VerticalDragGestureRecognizer())),

0
投票

我遇到了这个问题,结果发现这是由于通过 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,);
      },
© www.soinside.com 2019 - 2024. All rights reserved.