diff options
author | Tobrun <tobrun.van.nuland@gmail.com> | 2017-01-23 18:43:57 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-01-23 18:43:57 +0100 |
commit | 7cf317c08ce89d10a8ac01cd21caf035bfc9dc5e (patch) | |
tree | 9d53eeef67faa0b67db644c928a2d69fd163daac /platform/android | |
parent | 0ccc255f0e097b823537c37495b39de554f600fb (diff) | |
download | qtlocation-mapboxgl-7cf317c08ce89d10a8ac01cd21caf035bfc9dc5e.tar.gz |
[android] - when updating positon, wait for render call to invalidate updated marker position, correct camera invalidation for all moveCamera method invocations (#7794)
Diffstat (limited to 'platform/android')
2 files changed, 4 insertions, 3 deletions
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/annotations/MarkerView.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/annotations/MarkerView.java index c1b643eb4c..29f6d4dccf 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/annotations/MarkerView.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/annotations/MarkerView.java @@ -342,6 +342,7 @@ public class MarkerView extends Marker { public void setPosition(LatLng position) { super.setPosition(position); if (markerViewManager != null) { + markerViewManager.setWaitingForRenderInvoke(true); markerViewManager.update(); } } diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapboxMap.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapboxMap.java index 9e8073edb8..a4248a1fb5 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapboxMap.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapboxMap.java @@ -515,9 +515,6 @@ public final class MapboxMap { @UiThread public final void moveCamera(CameraUpdate update) { moveCamera(update, null); - // MapChange.REGION_DID_CHANGE_ANIMATED is not called for `jumpTo` - // invalidate camera position to provide OnCameraChange event. - invalidateCameraPosition(); } /** @@ -534,6 +531,9 @@ public final class MapboxMap { @Override public void run() { transform.moveCamera(MapboxMap.this, update, callback); + // MapChange.REGION_DID_CHANGE_ANIMATED is not called for `jumpTo` + // invalidate camera position to provide OnCameraChange event. + invalidateCameraPosition(); } }); } |