2011-02-26 86 views

回答

4

我不知道你想获得什么经纬度,但我确定你可以在用户触摸屏幕时获得坐标X and Y的位置。

在您的Activity中执行OnTouchListener,并使用​​方法为您的视图设置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; 
    } 
} 
+0

发现的Y值是游标的顶部,我怎么能找到它的底部? – Senhor 2016-11-06 09:50:24

2

对于位置x,在你的MapView Y,

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