如何在android中获取指针/光标位置

发布于 2024-10-19 03:09:47 字数 50 浏览 1 评论 0原文

在Android中,当我单击屏幕上的任意位置时,我想获取/返回光标位置(纬度和经度)。

In Android I would like to get/return the cursor location (latitude and longitude) when I click anywhere on the screen.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

指尖凝香 2024-10-26 03:09:47

我不知道您想要获取什么纬度和经度,但我确信当用户触摸屏幕时您可以获取坐标 X 和 Y 的位置。

在您的 Activity 中实现 OnTouchListener 并使用 setOnTouchListener() 方法为您的视图设置 Listener

现在您可以在 Activity 中重写 onTouch() 方法。

@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;
    }
}

I don't know for what you want to get latitude and longitude but I am sure you can get the position of the coordinates X and Y when a user touch the screen.

Implement OnTouchListener in your Activity and set the Listener for your View using the setOnTouchListener() method.

Now you can override the onTouch() method in your Activity.

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

See I have written a sample snippet for you:

    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;
    }
}
梨涡少年 2024-10-26 03:09:47

对于 MapView 上的位置 x,y ,

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

For a location x,y on your MapView ,

MapView    map    = (MapView) findViewById(R.id.youmapview);
Projection proj   = map.getProjection();
GeoPoint   latlon = proj.fromPixels(x, y);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文