我在Flitter应用程序中看到了两个不同的屏幕,它们使用谷歌 map (由这library名用户提供).

第一个小部件的 struct 是

Scaffold -> ListView -> Visibility -> Center -> SizedBox -> GoogleMap

对于第二个屏幕,它是

Scaffold -> Container -> Column -> SizedBox -> GoogleMap

在两个屏幕上,我得到了相同的 map 设置,但是由于某些原因,第一个屏幕上的 map 没有响应任何touch 事件.

推荐答案

您需要通过设置gestureRecognizers属性来告诉GoogleMap小部件您希望它响应哪些手势,如下所示:

import 'package:flutter/foundation.dart';
import 'package:flutter/gestures.dart';
import 'package:google_maps_flutter/google_maps_flutter.dart';

...

GoogleMap(
  initialCameraPosition: CameraPosition(
    target: LatLng(0, 0),
  ),
  gestureRecognizers: Set()
    ..add(Factory<PanGestureRecognizer>(() => PanGestureRecognizer()))
);

这并不是GoogleMap小部件所特有的,您需要对任何在幕后使用AndroidView/UIKitView来处理放置在可滚动视图中的手势的小部件执行此操作.

Flutter相关问答推荐

在Flutter 中将参数从一个类传递到另一个类

如何在表格日历标题下方添加文本?

为什么PUT方法没有发出任何响应?

为什么我的页面控制器在使用Riverpod时没有更改我的页面视图?

Flutter 蜂巢不能正常工作,我正在使用蜂巢在设备上存储数据,但当我关闭并重新启动应用程序时,我失go 了一切

如何画三角形的圆角?

使用 Firebase Realtime 实现高效流式传输

更新番茄计时器值不会触发 Flutter Riverpod 中的alert 声音

如何从列表中更新provider变量:Flutter列表和Provider优化指南

文本溢出文本框 - Flutter

在 Flutter 中更改喜欢按钮的 colored颜色

无状态小部件被奇怪地重建

如何解决需要一个标识符,但得到的是:.try 在:之前插入一个标识符.dart 错误

如何在 Flutter (iOS) 中解决这个问题

Flutter - 如何将按钮对齐到行的右侧

在 Flutter 中使用 HardwareKeyboard 时所有键都没有响应

访问 AsyncSnapshot 中的嵌套属性

如何在手势检测器中获得涟漪效应

Flutter :RangeError(索引):无效值:不在包含范围内0..3:4使用IndexedListView.builder

如何使用 Riverpod 在运行时动态创建提供程序?