【发布时间】:2013-01-02 12:21:35
【问题描述】:
我在创建将在用户移动地图时触发的事件处理程序时遇到问题。有一个OnCameraChangeListener,但它是在 地图移动停止之后触发的。
我在地图上创建了SurfaceView,现在我不知道如何处理来自OnGestureListener 的onScroll 事件。
这里是示例代码:
SurfaceView sv = new SView();
sv.setZOrderOnTop(true);
mapView.addView(sv);
...
public class SView extends SurfaceView implements Runnable, android.view.GestureDetector.OnGestureListener {
...
@Override
public boolean onTouchEvent(MotionEvent event) {
//this worked in Overlay in Maps API v1
if(gestureDetector.onTouchEvent(event)) {
return true;
}
return false;
}
...
@Override
public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) {
Log.i("test","onScroll");
return false;
}
...
}
如果我在onTouchEvent 中设置return true,则会调用onScroll,但我无法移动地图(这很明显,事件已被消耗),而且我不知道如何向下调度事件映射对象。
有人知道如何在地图移动时更新SurfaceView?
【问题讨论】:
标签: android google-maps google-maps-android-api-2