#結論
import 'package:flutter/foundation.dart';
import 'package:flutter/gestures.dart';
import 'package:google_maps_flutter/google_maps_flutter.dart';
ListView(
children: <Widget>[
GoogleMap(
gestureRecognizers: <Factory<OneSequenceGestureRecognizer>>[
Factory<OneSequenceGestureRecognizer>(
() => EagerGestureRecognizer(),
),
].toSet(),
),
],
)
引用:https://stackoverflow.com/questions/54280541/google-map-in-flutter-not-responding-to-touch-events
#何でこれで動くのか
EagerGestureRecognizerクラスの解説を読む。
(原文)
A gesture recognizer that eagerly claims victory in all gesture arenas.
(意訳)
この GestureRecognizer は全 gesture のいる闘技場の中でも特に熱心に勝利を主張します。
https://api.flutter.dev/flutter/gestures/EagerGestureRecognizer-class.html
この文章書いた人、何かキメてたんですかね????
Eager が熱心という意味らしい。
要するにはユーザータップ時に複数の操作可能オブジェクトがあった場合に、
この Gesture が紐付けられたWidgetが最優先で反応するみたいです。
つまり、デフォルトではListViewのほうが優先度高いんですね……