ユーザーがマップを移動しているときにトリガーされるイベント ハンドラーの作成に問題があります。ありますが、マップ移動停止後にOnCameraChangeListener
発動します。
マップ上で作成しましたが、からのイベントSurfaceView
を処理する方法がわかりません。onScroll
OnGestureListener
サンプルコードは次のとおりです。
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;
}
...
}
に設定return true
するとonTouchEvent
、onScroll
が呼び出されますが、Map を移動できません (これは明らかです。イベントが消費されます)。また、イベントを Map オブジェクトにディスパッチする方法がわかりません。
SurfaceView
マップの移動中に更新する方法を知っている人はいますか?