我想要创建一个谷歌地图小部件,它不会处理任何点击,手势-只是一个静态地图。我知道我需要以某种方式设置gestureRecognizers,但不知道哪个类会锁定所有的手势。我应该用什么代替ScaleGestureRecognizer()?
将gestureRecognizers设置为空没有帮助。
当此集合为空或空时,映射将只处理任何其他手势识别器未声明的手势的指针事件。
import 'package:flutter/cupertino.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/gestures.dart';
import 'package:flutter/material.dart';
import 'package:google_maps_flutter/google_maps_flutter.dart';
class StaticMap extends StatelessWidget {
final CameraPosition cameraPosition;
StaticMap(this.cameraPosition);
@override
Widget build(BuildContext context) {
return GoogleMap(
mapType: MapType.normal,
initialCameraPosition: cameraPosition,
gestureRecognizers: {
Factory<OneSequenceGestureRecognizer>(() => ScaleGestureRecognizer()),
},
);
}
}发布于 2019-06-11 04:42:45
尝试使用AbsorbPointer
使GoogleMap child of AbsorbPointer并将其absorbing属性设置为true
return AbsorbPointer(
absorbing: true,
child: GoogleMap(
mapType: MapType.normal,
initialCameraPosition: cameraPosition,
gestureRecognizers: {
Factory<OneSequenceGestureRecognizer>(() => ScaleGestureRecognizer()),
}
)
);还可以在要检测事件时设置它的absorbing属性false
有关AbsorbPointer的更多信息,请参阅这里
https://stackoverflow.com/questions/56536399
复制相似问题