Flutterにgoogle_maps_flutterを導入し、Google Mapを表示させているのですが、
return SingleChildScrollView(
child: GoogleMap(
// (省略)
)
というように、Google MapをSingleChildScrollViewの子ウィジットにしたところ、
Google Mapをスクロールしようとしても、画面全体(=SingleChildScrollView)がスクロールされてしまい、Mapを操作できなくなってしまいました。
難しくはなかったものの、日本語の情報がなかったので書き留めておきます。
##解決策
import 'package:flutter/gestures.dart'; // OneSequenceGestureRecognizerを有効にするために追加
import 'package:flutter/foundation.dart'; // Factoryを有効にするために追加
// (省略)
return SingleChildScrollView(
child: GoogleMap(
gestureRecognizers: <Factory<OneSequenceGestureRecognizer>>[
new Factory<OneSequenceGestureRecognizer>(
() => new EagerGestureRecognizer(),
),
].toSet(),
)
↑のように、gestureRecognizers
を設定してあげればOKです。
(import
が必要なので、そこだけ要注意)
Flutterは日本後の情報が少なめですが、頑張って英語も読んでみると、割と解決できますね。
###参考
https://stackoverflow.com/questions/61744359/google-maps-inside-a-form-in-singlechildscrollview