【发布时间】:2019-06-11 04:17:01
【问题描述】:
我想创建一个不会处理任何点击、手势的 Google 地图小部件 - 只是一个静态地图。
我知道我需要以某种方式设置gestureRecognizers,但无法确定哪个类会锁定所有手势。我应该用什么来代替ScaleGestureRecognizer()?
将gestureRecognizers设置为null没有帮助。
当此集合为空或 null 时,地图将只处理未被任何其他手势识别器声明的手势的指针事件。
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()),
},
);
}
}
【问题讨论】:
-
我的解决方案对您有用吗?
-
@MangaldeepPannu 是的,您的解决方案有效,我刚刚使用了
IgnorePointer(ignoring: false, ...)。正在等待,看看是否有人会建议通过设置自定义gestureRecognizers来禁用地图操作。
标签: flutter flutter-layout flutter-plugin