如果我覆盖onTouchEvent方法,则不会显示Mapview缩放控件

时间:2011-10-11 17:50:02

标签: java android android-mapview

我覆盖onTouchEvent,这样我就可以检测到地图上的点击位置。但是现在我的变焦控制已经消失了。我的onTouchEvent:

public boolean onTouchEvent(MotionEvent event, MapView mapView) {

          final int action=event.getAction();
          final int x=(int)event.getX();
          final int y=(int)event.getY();
          boolean result=false;


          if (action==MotionEvent.ACTION_DOWN) { 
              //Log.d(TAG, "down");      
              result=true;

          }
           if (action==MotionEvent.ACTION_MOVE) {

             //Log.d(TAG, "move");           
            result=true;
          }
          else if (action==MotionEvent.ACTION_UP) { 


            GeoPoint pt=mapView.getProjection().fromPixels(x,
                                                       y);

            OverlayItem toDrop=new OverlayItem(pt, "MyLoc","Tukaj me poberite");

            locations.clear();
            locations.add(toDrop); 
            populate();

            result=true;
          }

           return(result || super.onTouchEvent(event, mapView));
        } 

我做错了什么?

1 个答案:

答案 0 :(得分:1)

你必须一直打电话

super.onTouchEvent(event, mapView));

使Mapview正常运行。 所以代码的最后一行

return(result || super.onTouchEvent(event, mapView));

应改为

super.onTouchEvent(event, mapView);
return true;