我有一个带有 ViewSwitcher 的应用程序,它有一个 MapView (v1) 和另一个 View,并且使用 GestureDetector 我可以检测到双击并在两个视图之间切换。
现在我正在尝试将应用程序切换到新的Google Maps Android API V2,我遇到的问题是 MapView 上设置的 GestureDetector 不再对双击做出反应,而是地图正在放大。有谁知道如何改变它行为?
我正在使用原始MapView
类,而不是 Map 片段。
我有一个带有 ViewSwitcher 的应用程序,它有一个 MapView (v1) 和另一个 View,并且使用 GestureDetector 我可以检测到双击并在两个视图之间切换。
现在我正在尝试将应用程序切换到新的Google Maps Android API V2,我遇到的问题是 MapView 上设置的 GestureDetector 不再对双击做出反应,而是地图正在放大。有谁知道如何改变它行为?
我正在使用原始MapView
类,而不是 Map 片段。
好的,我现在找到了方法。我必须创建一个子类MapView
(实际上是 a ViewGroup
)并interceptTouchEvent()
在那里实现以检测和捕获双击。
此处详细解释了这是如何实现的:Double Tap -> Zoom on Android MapView?
据我所知(并根据:http: //developer.android.com/reference/com/google/android/gms/maps/GoogleMap.html),您可以设置为GoogleMap
对象(也可以设置为MapView
)单击和长按监听器。所以我认为你不能设置双击监听器。
但是你可以试试这个:
GoogleMap map=mapView.getMap();
map.getUiSettings().setZoomGesturesEnabled(false);
也许它会对您的 GestureDetector 做出反应。