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