как получить указатель / местоположение курсора в Android - PullRequest
2 голосов
/ 26 февраля 2011

В Android я хотел бы получить / вернуть местоположение курсора (широта и долгота), когда я нажимаю в любом месте экрана.

Ответы [ 2 ]

4 голосов
/ 26 февраля 2011

Я не знаю, для чего вы хотите получить широту и долготу, но я уверен, что вы можете получить положение координат X and Y, когда пользователь коснется экрана.

Реализуйте OnTouchListener в вашем Activity и установите Listener для своего просмотра, используя метод setOnTouchListener().

Теперь вы можете переопределить метод onTouch() в вашем Activity.

@Override
public boolean onTouch(View view, MotionEvent event) {
    int x = (int) event.getX();       
    int y = (int) event.getY();
    return false;
}

Смотри, я написал образец для тебя:

    public class OnTouchDemo extends Activity implements OnTouchListener {

    private TextView tView;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        tView = (TextView) findViewById(R.id.txtView1);
        tView.setOnTouchListener(this);
    }

    @Override
    public boolean onTouch(View view, MotionEvent event) {
        int x = (int) event.getX();
        int y = (int) event.getY();

        Log.v("OnTouchDemo", "X==" + String.valueOf(x) + " Y==" + String.valueOf(y));

        return false;
    }
}
2 голосов
/ 26 февраля 2011

Для местоположения x, y на вашем MapView,

MapView    map    = (MapView) findViewById(R.id.youmapview);
Projection proj   = map.getProjection();
GeoPoint   latlon = proj.fromPixels(x, y);
...