Reputation: 13
I have a Google Map and load markers from a backend in current GeoBox. I want to wait a while before CameraIdle load the markers.
User: Swipe or Zoom -> Wait for another gesture -> OnCameraIdle()
@Override
public void onCameraIdle() {
showProgressBar();
loadMarkers();
hideProgressBar();
}
Upvotes: 0
Views: 284
Reputation: 13
Found a solution: Create a Handler and Runnable.
Handler loadHandler = new Handler();
Runnable loadRUnnable = new Runnable(){...};
@Override
public void onCameraMoveStarted(int i) {
if(loadHandler != null){
loadHandler.removeCallbacks(loadRunnable);
}
}
@Override
public void onCameraIdle() {
if(loadHandler != null){
loadHandler.removeCallbacks(loadRunnable);
loadHandler.postDelayed(loadRunnable, 1000);
}
}
Upvotes: 1