У меня возникают проблемы с созданием обработчика событий, который будет запущен, пока пользователь перемещает карту. Существует OnCameraChangeListener
, но он запускается после остановки перемещения карты.
Я создал SurfaceView
над Maps, и теперь я понятия не имею, как обрабатывать событие 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
, но я не могу перемещать карту (что очевидно, событие расходуется), и я не знаю, как отправить событие вниз к объекту "Карта".
Кто-нибудь знает, как обновить SurfaceView
, пока перемещена карта?