Flutter Google Maps,如何检测用户而不是控制器的地图区域变化

e-j*_*-j5 10 google-maps flutter

我正在使用 Google 地图在地图上显示标记,并使用其他小部件来描述地图上的每个标记。我已成功实现,当用户在小部件上选项卡时,地图区域将发生变化以使匹配标记成为地图的中心。我还有“搜索该区域”按钮来搜索地图区域。困难的部分是控制如何隐藏/显示“搜索此区域”按钮。到目前为止,我已经实现了它在地图区域更改时显示。但是,每次小部件上的用户选项卡更改地图区域时,它都会导致该按钮出现。

我只想检测用户手动更改的地图区域,例如捏放大/缩小、拖动等。

Abd*_*iaz 18

您可以使用该小部件在地图上Listener收听。onPointerMove像这样,

Listener(
  onPointerMove: (move) {
     // This will trigger when a user will drag the map
  },
child: map);
Run Code Online (Sandbox Code Playgroud)

MindonPointerMove在用户拖动过程中会被多次调用,而当用户点击地图按钮(如地图缩放按钮)时不会被调用。

如果您只想在用户交互结束后进行一次调用,并且还希望从地图按钮获取事件,则可以改用onPointerUp

  • 真正好的做法是 mapAnimationFinished 事件。 (2认同)