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