颤振谷歌地图,如何检测地图区域的变化由用户,而不是由控制器



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

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

您可以使用"Listener"微件在地图上侦听onPointerMove。喜欢这个

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

请注意,onPointerMove在用户拖动期间会多次调用,当用户点击地图按钮(如地图缩放按钮(时不会调用。

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

最新更新