我重写了 onTouchEvent,这样我就可以检测到单击了 map 上的位置。但现在我的缩放控件消失了。我的 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));
}
我做错了什么?
最佳答案
你必须经常打电话
super.onTouchEvent(event, mapView));
使Mapview正常运行。 所以代码的最后一行
return(result || super.onTouchEvent(event, mapView));
应改为
super.onTouchEvent(event, mapView);
return true;
关于java - 如果我重写 onTouchEvent 方法, map View 缩放控件不会显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7730254/