在Android中的谷歌地图v2中缩放移动捏合侦听器

时间:2013-05-20 12:29:02

标签: android gesture android-maps-v2

我在Android APP中使用 maps v2

我的地图会每隔几秒自动更新一次,以在地图上显示一些新点。 每次刷新时,自动执行以下事件:调用“setOnCameraChangeListener”。

用户可以通过移动相机或进行缩放来与地图进行交互。我需要在地图上截取用户的手势,例如“缩放”,“拖动”,“捏开”或“捏闭”。

所以我不能使用“OnCameraChangeListener”,因为这在应用程序自动更新数据时已自动完成,我无法理解事件发生时自动更新地图或何时通过用户交互

如何捕获这些用户手势?

2 个答案:

答案 0 :(得分:5)

  

自动执行以下事件:调用“setOnCameraChangeListener”。

没有任何事情自动完成。

  

每隔几秒更新一次,以在地图上显示一些新点。

  

然后重新调整缩放以适应地图上的实际标记。

这似乎是一种非常糟糕的用户体验:当用户只想滑动到非洲时,强迫用户查看您的标记。

无论如何,如果您在代码中进行GoogleMap.animateCamera调用,则可以使用CancelableCallback参数来帮助您区分导致onCameraChange的用户活动和代码调用。 See this comment on gmaps-api-issues了解如何实现这一目标。

答案 1 :(得分:0)

尝试在处理自动更新的代码块中调用自动更新后执行的操作,而不是OnCameraChangeListener。然后使用OnCameraChangeListener执行仅在相机实际移动时执行的操作(无论是由用户还是由代码引起)。