aboutsummaryrefslogtreecommitdiffstats
path: root/src/cgeo/geocaching/googlemaps/googleMapView.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/cgeo/geocaching/googlemaps/googleMapView.java')
-rw-r--r--src/cgeo/geocaching/googlemaps/googleMapView.java21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/cgeo/geocaching/googlemaps/googleMapView.java b/src/cgeo/geocaching/googlemaps/googleMapView.java
index 6fa1eb7..8a06edb 100644
--- a/src/cgeo/geocaching/googlemaps/googleMapView.java
+++ b/src/cgeo/geocaching/googlemaps/googleMapView.java
@@ -6,6 +6,9 @@ import android.graphics.Canvas;
import android.graphics.drawable.Drawable;
import android.util.AttributeSet;
import android.util.Log;
+import android.view.GestureDetector;
+import android.view.MotionEvent;
+import android.view.GestureDetector.SimpleOnGestureListener;
import cgeo.geocaching.cgSettings;
import cgeo.geocaching.mapcommon.cgMapMyOverlay;
import cgeo.geocaching.mapcommon.cgMapOverlay;
@@ -24,17 +27,21 @@ import com.google.android.maps.MapView;
import com.google.android.maps.Overlay;
public class googleMapView extends MapView implements MapViewImpl{
+ private GestureDetector gestureDetector;
public googleMapView(Context context, AttributeSet attrs) {
super(context, attrs);
+ gestureDetector = new GestureDetector(context, new GestureListener());
}
public googleMapView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
+ gestureDetector = new GestureDetector(context, new GestureListener());
}
public googleMapView(Context context, String apiKey) {
super(context, apiKey);
+ gestureDetector = new GestureDetector(context, new GestureListener());
}
@Override
@@ -150,4 +157,18 @@ public class googleMapView extends MapView implements MapViewImpl{
public void repaintRequired(OverlayBase overlay) {
invalidate();
}
+
+ @Override
+ public boolean onTouchEvent(MotionEvent ev) {
+ gestureDetector.onTouchEvent(ev);
+ return super.onTouchEvent(ev);
+ }
+
+ private class GestureListener extends SimpleOnGestureListener {
+ @Override
+ public boolean onDoubleTap(MotionEvent e) {
+ getController().zoomInFixing((int) e.getX(), (int) e.getY());
+ return true;
+ }
+ }
}