一尘不染

Flutter中的Google地图未响应触摸事件

flutter

Flutter应用程序内部有两个不同的屏幕,它们使用Google
Map(由该提供)。

第一个的小部件结构是

支架-> ListView->可见性->中心-> SizedBox-> GoogleMap

第二屏是

脚手架->容器->列-> SizedBox-> GoogleMap

在两个屏幕上,我都设置了相同的地图设置,但是由于某些原因,在第一个屏幕上地图没有响应任何触摸事件。


阅读 456

收藏
2020-08-13

共1个答案

一尘不染

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

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在幕后使用/
处理手势的任何窗口小部件进行此操作。

2020-08-13