2011-02-26 84 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);