マップをタップするために dispatchTouchEvent() メソッドを使用しています。レイアウトのどこかをタップすると、緯度と経度が表示されますが、マップ エリアをタップしたときにのみ表示されるようにします。このコードの何が問題なのかわかりません:
@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
int actionType = ev.getAction();
switch (actionType) {
case MotionEvent.ACTION_UP:
proj = mapView.getProjection();
loc = (GeoPoint) proj.fromPixels((int) ev.getX(), (int) ev.getY());
String longitude = Double
.toString(((double) loc.getLongitudeE6()) / 1000000);
String latitude = Double
.toString(((double) loc.getLatitudeE6()) / 1000000);
Toast toast = Toast.makeText(getApplicationContext(), "Longitude: "
+ longitude + " Latitude: " + latitude, Toast.LENGTH_SHORT);
toast.show();
}
return super.dispatchTouchEvent(ev);
}
レイアウトのイメージは次のとおりです。