Android doubletap,ontouchevent无法正常工作

时间:2012-10-28 05:06:54

标签: android android-mapview android-maps

双击时我需要缩放。为什么这不起作用?我工作了很长时间没有结果。没有识别触摸事件

public class MyMapActivity extends MapActivity implements OnGestureListener{
private MapView mapView;

@Override
public void onCreate(Bundle savedInstanceState) {

requestWindowFeature(Window.FEATURE_NO_TITLE);
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mapView = (MapView)findViewById(R.id.mapView);
mGestureDetector = new GestureDetector(this,this);
detector.setOnDoubleTapListener(new OnDoubleTapListener(){
    @Override
public boolean onDoubleTap(MotionEvent e) {
 int x = (int)e.getX(), y = (int)e.getY();;  
 Projection p = map.getProjection();  
 map.getController().animateTo(p.fromPixels(x, y));
 map.getController().zoomInFixing(x, y);  
 return false;
}

@Override
public boolean onDoubleTapEvent(MotionEvent e) {
    return false;
}

    });
}
@Override
public boolean onTouchEvent(MotionEvent me) {
this.mGestureDetector.onTouchEvent(me);
return super.onTouchEvent(me); 
}

2 个答案:

答案 0 :(得分:2)

请参阅this教程,它有完整的方法或查看有关stackoverflow herehere的类似问题。

答案 1 :(得分:2)

试着看一下MapView Ballons库,它支持双击缩放等功能!它非常好用且易于使用并与项目集成。 MapView Ballons