here is the code for implementing onDoubleTap listener in your MapActivity.
note mapview.setOnTouchListener() method and return true in onDown method.
the code:
note mapview.setOnTouchListener() method and return true in onDown method.
the code:
public class MYMapActivity extends MapActivity implements
GestureDetector.OnGestureListener, GestureDetector.OnDoubleTapListener{
GestureDetector gestureDetector;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.mymapview);
//get the MapView
MapView mapView = (MapView) findViewById(R.id.mapview);
// enable zoom controls in the map view
mapView.setBuiltInZoomControls(true);
gestureDetector = new GestureDetector(this, this);
//register the double tap listener to this object
gestureDetector.setOnDoubleTapListener(this);
mapView.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { return gestureDetector.onTouchEvent(event); } });
} @Override protected boolean isRouteDisplayed() { return false; } @Override public boolean onDoubleTap(MotionEvent mev) { System.out.println("******onDoubleTap*******");
//do what ever you want here return true; } @Override public boolean onDoubleTapEvent(MotionEvent e) { // TODO Auto-generated method stub return false; } @Override public boolean onSingleTapConfirmed(MotionEvent e) { // TODO Auto-generated method stub return false; } @Override public boolean onDown(MotionEvent e) {
System.out.println("******onDown*******");
//must return true so that onDoubleTap method fires
return true; } @Override public boolean onFling(MotionEvent e1, MotionEvent e2,
float velocityX,
float velocityY) { // TODO Auto-generated method stub return false; } @Override public void onLongPress(MotionEvent e) { // TODO Auto-generated method stub } @Override public boolean onScroll(MotionEvent e1, MotionEvent e2,
float distanceX,
float distanceY) { // TODO Auto-generated method stub return false; } @Override public void onShowPress(MotionEvent e) { // TODO Auto-generated method stub } @Override public boolean onSingleTapUp(MotionEvent e) { // TODO Auto-generated method stub return false; } }