private LocationManager manager;
private TextView tv;
private MapController control;
private GeoPoint chosen = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.placechooser);
final MapView map = (MapView) findViewById(R.id.gmap);
tv=(TextView) findViewById(R.id.textView1);
map.setBuiltInZoomControls(true);
map.setOnTouchListener(new OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
chosen = map.getProjection().fromPixels(
(int) event.getX(), (int) event.getY());
tv.setText((chosen.getLatitudeE6() / (Math.pow(10,6)) + "," + (chosen.getLongitudeE6() / (Math.pow(10,6)))));
return true;
}
});
此代码片段有效,我可以看到谷歌地图,当我按下地图上的某些点时,我确实在我的 TextView 上得到了预期的结果,但地图没有移动并且没有响应,我猜是内置的 onclicklistener被我的覆盖了我该如何解决这个问题?
我尝试过的事情:
我尝试寻找一个 getOnClickLisetener 来保留它并在我的点击监听器上激活它,但没有这样的方法
我尝试创建 MapOverlay 类并将触摸功能复制到它的 onTouch 方法,不仅地图没有移动,我还从 map.getProjection() 接收到空结果。
我该如何克服呢?