質問

このチュートリアルを使用しました http://mobiforge.com/developing/story/using-google-maps-android マップビューを表示し、Ontouchイベントを設定して、特定の領域をクリックするときにトーストメッセージ(緯度/経度)を表示します。さて、私の問題は、マップを移動する場合でも画面に触れる瞬間にトーストメッセージが表示されることです。タッチダウンポイントとタッチアップポイントが同じ場合にのみ、トーストを表示したいと思います。それを実装するにはどうすればよいですか?

役に立ちましたか?

解決

移動ビットが設定されているかどうかを確認します MotionEvent

if(event.getAction() & MotionEvent.ACTION_MOVE == MotionEvent.ACTION_MOVE)

他のヒント

これはこれを行う正しい方法ですか?より良い方法があると確信しています。

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();
    }
}

これは私のためにうまくいきました、私が押し下げてドラッグしたとき、何も起こりませんでしたが、押し下げてリリースするとうまくいきました! OnClickListenerの動作のように。

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

      return false;
  }
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top