diff options
author | Tobrun <tobrun@mapbox.com> | 2016-05-04 10:40:14 +0200 |
---|---|---|
committer | Tobrun <tobrun@mapbox.com> | 2016-05-20 12:00:02 +0200 |
commit | c53533270bd619f853cd4e1cae8a8730f1fe9f7d (patch) | |
tree | 4c886834673a58a52d0fee7b27a97c3e3766d298 /platform/android | |
parent | 16a2765adcc726feaffbc2e6f7e805d9e5d6cf58 (diff) | |
download | qtlocation-mapboxgl-c53533270bd619f853cd4e1cae8a8730f1fe9f7d.tar.gz |
[android] #3276 - introduced rate limited discovery for view markers
Diffstat (limited to 'platform/android')
-rw-r--r-- | platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapView.java | 21 |
1 files changed, 16 insertions, 5 deletions
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapView.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapView.java index 57a780a936..5807bc53ce 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapView.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapView.java @@ -25,6 +25,7 @@ import android.net.NetworkInfo; import android.net.Uri; import android.os.AsyncTask; import android.os.Bundle; +import android.os.SystemClock; import android.support.annotation.CallSuper; import android.support.annotation.FloatRange; import android.support.annotation.IntDef; @@ -115,6 +116,8 @@ import java.util.concurrent.CopyOnWriteArrayList; public class MapView extends FrameLayout { private MapboxMap mMapboxMap; + private boolean mInitialLoad; + private boolean mDestroyed; private List<Icon> mIcons; private int mAverageIconHeight; @@ -149,12 +152,11 @@ public class MapView extends FrameLayout { private int mContentPaddingRight; private int mContentPaddingBottom; - private List<OnMapReadyCallback> mOnMapReadyCallbackList; - private boolean mInitialLoad; - private boolean mDestroyed; - private StyleInitializer mStyleInitializer; + private List<OnMapReadyCallback> mOnMapReadyCallbackList; + private long nViewMarkerBoundsUpdateTime; + @UiThread public MapView(@NonNull Context context) { super(context); @@ -450,7 +452,16 @@ public class MapView extends FrameLayout { } } } else if (change == REGION_IS_CHANGING || change == REGION_DID_CHANGE) { - new MarkerInBoundsTask().execute(); + + long currentTime = SystemClock.elapsedRealtime(); + + if (currentTime < nViewMarkerBoundsUpdateTime) { + return; + } + + nViewMarkerBoundsUpdateTime = currentTime + 300; + + new MarkerInBoundsTask().execute(); } } }); |