summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTobrun <tobrun.van.nuland@gmail.com>2017-01-23 18:43:57 +0100
committerGitHub <noreply@github.com>2017-01-23 18:43:57 +0100
commit7cf317c08ce89d10a8ac01cd21caf035bfc9dc5e (patch)
tree9d53eeef67faa0b67db644c928a2d69fd163daac
parent0ccc255f0e097b823537c37495b39de554f600fb (diff)
downloadqtlocation-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)
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/annotations/MarkerView.java1
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapboxMap.java6
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();
}
});
}