我在“SingleChildScrollView”中有一个谷歌地图以及其他几个小部件。
地图确实占据了屏幕高度的很大一部分。
当我滚动内容并来到地图区域并尝试滚动时,整个页面不滚动。它滚动地图。
有没有办法解决这个问题?
我还想滚动地图。 也许在谷歌地图上启用 2 指滚动?
GoogleMap(
mapType: MapType.normal,
initialCameraPosition: _cameraStartPos,
onMapCreated: (GoogleMapController controller) {
_mapController = controller;
controller.setMapStyle(_mapStyle);
},
onCameraMove: (CameraPosition pos) {
_zoomLevel = pos.zoom;
_zoomLevelChanged();
},
onTap: null,
myLocationButtonEnabled: false,
zoomControlsEnabled: true,
zoomGesturesEnabled: true,
mapToolbarEnabled: true,
gestureRecognizers: Set()
..add(
Factory<PanGestureRecognizer>(() => PanGestureRecognizer()))
..add(Factory<ScaleGestureRecognizer>(
() => ScaleGestureRecognizer()))
..add(Factory<VerticalDragGestureRecognizer>(
() => VerticalDragGestureRecognizer())),
markers: Set.of(_markers.values),
)
答案 0 :(得分:1)
尝试用 IgnorePointer 包装 GoogleMap:
IgnorePointer(ignored: true, child: GoogleMap
或
使用 Stack 包裹 GoogleMap 和透明容器(与 GoogleMap 大小相同并在其顶部):
Stack(
children:[
GoogleMap,
Container(color: Colors.transparant
],
)