等待一段时间后,GoogleMaps.onCameraIdle Listener应该会激活

时间:2017-03-27 08:46:41

标签: android google-maps listener google-maps-android-api-2 android-handler

我有一个Google Map并从当前GeoBox的后端加载标记。我想在CameraIdle加载标记之前等一会儿。

用户: 滑动或缩放 - >等待另一个手势 - > OnCameraIdle()

@Override
public void onCameraIdle() {
    showProgressBar();
    loadMarkers();
    hideProgressBar();
}

1 个答案:

答案 0 :(得分:1)

找到解决方案: 创建一个Handler和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);
    }
}