我是Android的新手,在尝试实现我的应用程序功能时遇到了麻烦。我想要做的是让我的用户能够长按一个重叠项目(这是一个公交车站)并将该标记(车站编号和地址)添加到他们的“收藏夹”标签中。问题是...我该如何侦听和处理重叠项目上的长按(点击)?

目前,我在Overlay类中@onriding onTap函数来处理常规抽头,但是在文档中我看不到要重写的onLongTap函数...有人可以按照正确的方式设置我吗?我在这里错过明显的东西吗?感谢您阅读本

附言这是我的第一个SO问题:-)

最佳答案

您可能想覆盖onTouchEvent(MotionEvent, MapView)以获得更复杂的用户交互。对于“长按”,您应该启动某种计时器,以指示用户按下特定叠加项目的时间。一旦达到某个阈值-我相信“长按”的默认延迟约为1500毫秒-然后执行相关代码。

另外,您可以看一下包括mapview-overlay-manager项目的内容,从该项目的内容看,它应该完全提供您想要的内容(然后提供一些内容):


OnOverlayGestureListener

简化的OnGestureListener。 ManagedOverlayer使用其自己的内置GestureDetector触发
像这样的事件:


onSingleTap(MotionEvent,ManagedOverlay,GeoPoint,OverlayItem)
onDoubleTap(MotionEvent,ManagedOverlay,GeoPoint,OverlayItem)
onLongPress(MotionEvent,ManagedOverlay,GeoPoint,OverlayItem)
onZoom(ZoomEvent,ManagedOverlay)onScrolled(...)

关于java - 如何在Google MapView中的叠加项上听LongClick?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9985250/

10-10 08:22