2
我只是無法讓它工作。我嘗試使用下面的代碼與onTouchEventand,它不起作用。 如果我在方法結束時返回true,我得到座標的烤麪包,但不能移動地圖,如果我返回false,我可以移動地圖,但不能在用戶點擊地圖後顯示烤麪包。如果我得到它的權利,其他onTap方法僅用於點擊疊加。 有沒有人想出這個問題?單擊MapView上的任意位置時獲取座標
public boolean onTouchEvent(MotionEvent arg0, MapView arg1) {
//super.onTouchEvent(arg0);
int akcija = arg0.getAction();
if(akcija == MotionEvent.ACTION_UP){
if(!premik) {
Projection proj = mapView.getProjection();
GeoPoint loc = proj.fromPixels((int)arg0.getX(), (int)arg0.getY());
String sirina=Double.toString(loc.getLongitudeE6()/1000000);
String dolzina=Double.toString(loc.getLatitudeE6()/1000000);
Toast toast = Toast.makeText(getApplicationContext(), "Širina: "+sirina+" Dolzina: "+dolzina, Toast.LENGTH_LONG);
toast.show();
}
}
else if (akcija == MotionEvent.ACTION_DOWN){
premik= false;
}
else if (akcija== MotionEvent.ACTION_MOVE){
premik = true;
}
return false;
//return super.onTouchEvent(arg0);
}
它在模擬器中工作,但在我的英雄失敗。我想這只是另一個英雄特定的錯誤:( – DixieFlatline 2010-05-07 10:20:32
dispatchTouch事件沒有在我的英雄上被發現, – DixieFlatline 2010-05-07 10:27:26
它是由英雄的固件版本問題,這是API級別是3.但dispatchtouch在API級別4的事件方法,所以它不能工作。 – Praveen 2010-05-07 10:36:10