Flutter应用程序内部有两个不同的屏幕,它们使用Google Map(由该库提供)。
第一个的小部件结构是
支架-> ListView->可见性->中心-> SizedBox-> GoogleMap
第二屏是
脚手架->容器->列-> SizedBox-> GoogleMap
在两个屏幕上,我都设置了相同的地图设置,但是由于某些原因,在第一个屏幕上地图没有响应任何触摸事件。
您需要GoogleMap通过设置gestureRecognizers属性来告知小部件您希望其响应的手势,如下所示:
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在幕后使用/ 处理手势的任何窗口小部件进行此操作。
AndroidView
UIKitView