【问题标题】:Catch double tap events on new Google Maps Android API v2在新的 Google Maps Android API v2 上捕获双击事件
【发布时间】:2013-01-07 21:35:40
【问题描述】:

我有一个带有 ViewSwitcher 的应用程序,它有一个 MapView (v1) 和另一个 View,使用 GestureDetector 我可以检测到双击并在两个视图之间切换。

现在我正在尝试将应用程序切换到新的Google Maps Android API V2,我遇到的问题是 MapView 上设置的 GestureDetector 不再对双击做出反应,而是地图正在放大。有谁知道如何更改那种行为?

我正在使用原始的 MapView 类,而不是 Map 片段。

【问题讨论】:

    标签: android android-mapview


    【解决方案1】:

    好的,我现在找到了方法。我必须创建MapView 的子类(实际上是ViewGroup)并在那里实现interceptTouchEvent() 以检测和捕获双击。

    这里详细解释了这是如何实现的:Double Tap -> Zoom on Android MapView?

    【讨论】:

      【解决方案2】:

      据我所知(并根据:http://developer.android.com/reference/com/google/android/gms/maps/GoogleMap.html),您可以设置为GoogleMap 对象(也可以设置为MapView)单击和长按侦听器。所以我认为你不能设置双击监听器。

      但是你可以试试这个:

      GoogleMap map=mapView.getMap();
      map.getUiSettings().setZoomGesturesEnabled(false);
      

      也许它会对你的 GestureDetector 做出反应。

      【讨论】:

      • 我现在试过了,它禁用了缩放手势,但双击仍然不起作用。此外 setZoomGesturesEnabled(false) 也会禁用我想保留的捏缩放。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-24
      • 2023-04-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多