Android 为我的地图设置onDragListener?
因此,我使用osmdroid映射,并试图在用户像这样拖动映射时设置侦听器Android 为我的地图设置onDragListener?,android,map,drag,osmdroid,Android,Map,Drag,Osmdroid,因此,我使用osmdroid映射,并试图在用户像这样拖动映射时设置侦听器 mapView.setOnDragListener(new View.OnDragListener() { public boolean onDrag(View v, DragEvent event) { Log.i(PREFS_NAME, "X:" + String.valueOf(event.getX())); Log.i(PREFS_NAME, "Y:"
mapView.setOnDragListener(new View.OnDragListener() {
public boolean onDrag(View v, DragEvent event) {
Log.i(PREFS_NAME, "X:" + String.valueOf(event.getX()));
Log.i(PREFS_NAME, "Y:" + String.valueOf(event.getY()));
return false;
}
});
现在,一切正常,但当我把这段代码放到程序中时,会出现一个错误
这是正确的使用方式吗?原因是每当用户在地图上移动时,我都希望得到通知。我希望能够检查用户移动地图的位置,因此我正在观看getX和getY。这样做的原因是,如果地图超出我设定的边界,我可以停止地图移动
这是正确的方法吗?地图视图不响应onClick和onLongPress等触摸事件。我要做的是在onCreate之前添加以下内容:
@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
float x = ev.getX();
float y = ev.getY();
return super.dispatchTouchEvent(ev);
}
x和y现在将包含用户按下的屏幕坐标。希望这有帮助