2

我使用本教程http://mobiforge.com/developing/story/using-google-maps-android来显示地图视图并设置 onTouch 事件以在单击特定区域时显示 toast 消息(纬度/经度)。现在我的问题是,即使是移动地图,当我触摸屏幕时也会显示 Toast 消息?我只想在触地点和触地点相同的情况下显示吐司。我该如何实施?

4

3 回答 3

1

检查是否在MotionEvent中设置了移动位

if(event.getAction() & MotionEvent.ACTION_MOVE == MotionEvent.ACTION_MOVE)
于 2010-11-04T09:31:29.730 回答
0

这是正确的方法吗?我很确定有更好的方法。

if (event.getAction() == 0) {                
    touchX = (int) event.getX();
    touchY = (int) event.getY();
}
if(event.getAction() == 1) {
  if(event.getX() == touchX && event.getY()== touchY){
    GeoPoint p = mapView.getProjection().fromPixels((int) event.getX(), (int)event.getY());
       Toast.makeText(getBaseContext(), 
         p.getLatitudeE6() / 1E6 + "," + 
         p.getLongitudeE6() /1E6 , 
         Toast.LENGTH_SHORT).show();
    }
}
于 2010-11-04T09:19:16.970 回答
0

这对我有用,当我按下并拖动时没有任何反应,但是如果我按下并释放它就可以了!就像 onClickListener 行为一样。

  public boolean onTouch(View v, MotionEvent event) {
      if (event.getAction() == MotionEvent.ACTION_UP){
         // yer Code here ...........
      }

      return false;
  }
于 2011-08-02T07:20:49.183 回答