diff options
Diffstat (limited to 'src/cgeo/geocaching/googlemaps/googleMapView.java')
| -rw-r--r-- | src/cgeo/geocaching/googlemaps/googleMapView.java | 21 |
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; + } + } } |
