summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTobrun Van Nuland <tobrun.van.nuland@gmail.com>2017-10-19 13:04:56 +0200
committerTobrun Van Nuland <tobrun.van.nuland@gmail.com>2017-10-19 13:04:56 +0200
commit83e0f67d754b1114ab014188e637a53a49994d38 (patch)
tree67534f0f2178c742b82025fc254f31efb9199c13
parentefcb9ee23129c6c1a863ab4908960dd46328248c (diff)
downloadqtlocation-mapboxgl-83e0f67d754b1114ab014188e637a53a49994d38.tar.gz
[android] - remove core animations, replace with Android SDK animators
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapboxMap.java5
-rwxr-xr-xplatform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/NativeMapView.java75
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/Transform.java92
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/utils/AnimatorUtils.java32
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/annotation/AnimatedMarkerActivity.java20
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/camera/CameraAnimatorActivity.java20
-rwxr-xr-xplatform/android/src/native_map_view.cpp44
-rwxr-xr-xplatform/android/src/native_map_view.hpp16
8 files changed, 145 insertions, 159 deletions
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 6a88470ee7..24687a7a59 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
@@ -632,7 +632,7 @@ public final class MapboxMap {
if (focalPoint == null) {
focalPoint = new PointF(nativeMapView.getWidth() / 2, nativeMapView.getHeight() / 2);
}
- nativeMapView.setZoom(zoom, focalPoint, 0);
+ nativeMapView.setZoom(zoom, focalPoint);
}
/**
@@ -641,7 +641,7 @@ public final class MapboxMap {
* @param tilt Tilt angle to change to
*/
public void setTilt(@FloatRange(from = MapboxConstants.MINIMUM_TILT, to = MapboxConstants.MAXIMUM_TILT) double tilt) {
- nativeMapView.setPitch(tilt, 0);
+ nativeMapView.setPitch(tilt);
}
/**
@@ -944,6 +944,7 @@ public final class MapboxMap {
* @param duration The duration of the transformation
*/
public void setFocalBearing(double bearing, float focalX, float focalY, long duration) {
+ // TODO remove obsolete public API
transform.setBearing(bearing, focalX, focalY, duration);
}
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/NativeMapView.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/NativeMapView.java
index bd8a54783e..2afdbeed25 100755
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/NativeMapView.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/NativeMapView.java
@@ -194,28 +194,14 @@ final class NativeMapView {
if (isDestroyedOn("moveBy")) {
return;
}
- moveBy(dx, dy, 0);
- }
-
- public void moveBy(double dx, double dy, long duration) {
- if (isDestroyedOn("moveBy")) {
- return;
- }
- nativeMoveBy(dx / pixelRatio, dy / pixelRatio, duration);
+ nativeMoveBy(dx/pixelRatio, dy/pixelRatio);
}
public void setLatLng(LatLng latLng) {
if (isDestroyedOn("setLatLng")) {
return;
}
- setLatLng(latLng, 0);
- }
-
- public void setLatLng(LatLng latLng, long duration) {
- if (isDestroyedOn("setLatLng")) {
- return;
- }
- nativeSetLatLng(latLng.getLatitude(), latLng.getLongitude(), duration);
+ nativeSetLatLng(latLng.getLatitude(), latLng.getLongitude());
}
public LatLng getLatLng() {
@@ -254,18 +240,18 @@ final class NativeMapView {
return nativeGetPitch();
}
- public void setPitch(double pitch, long duration) {
+ public void setPitch(double pitch) {
if (isDestroyedOn("setPitch")) {
return;
}
- nativeSetPitch(pitch, duration);
+ nativeSetPitch(pitch);
}
- public void setZoom(double zoom, PointF focalPoint, long duration) {
+ public void setZoom(double zoom, PointF focalPoint) {
if (isDestroyedOn("setZoom")) {
return;
}
- nativeSetZoom(zoom, focalPoint.x / pixelRatio, focalPoint.y / pixelRatio, duration);
+ nativeSetZoom(zoom, focalPoint.x / pixelRatio, focalPoint.y / pixelRatio);
}
public double getZoom() {
@@ -314,15 +300,7 @@ final class NativeMapView {
if (isDestroyedOn("rotateBy")) {
return;
}
- rotateBy(sx, sy, ex, ey, 0);
- }
-
- public void rotateBy(double sx, double sy, double ex, double ey,
- long duration) {
- if (isDestroyedOn("rotateBy")) {
- return;
- }
- nativeRotateBy(sx / pixelRatio, sy / pixelRatio, ex, ey, duration);
+ nativeRotateBy(sx / pixelRatio, sy / pixelRatio, ex, ey);
}
public void setContentPadding(int[] padding) {
@@ -340,28 +318,14 @@ final class NativeMapView {
if (isDestroyedOn("setBearing")) {
return;
}
- setBearing(degrees, 0);
- }
-
- public void setBearing(double degrees, long duration) {
- if (isDestroyedOn("setBearing")) {
- return;
- }
- nativeSetBearing(degrees, duration);
+ nativeSetBearing(degrees);
}
public void setBearing(double degrees, double cx, double cy) {
if (isDestroyedOn("setBearing")) {
return;
}
- setBearing(degrees, cx, cy, 0);
- }
-
- public void setBearing(double degrees, double fx, double fy, long duration) {
- if (isDestroyedOn("setBearing")) {
- return;
- }
- nativeSetBearingXY(degrees, fx / pixelRatio, fy / pixelRatio, duration);
+ nativeSetBearingXY(degrees, cx / pixelRatio, cy / pixelRatio);
}
public double getBearing() {
@@ -482,11 +446,11 @@ final class NativeMapView {
nativeRemoveAnnotationIcon(symbol);
}
- public void setVisibleCoordinateBounds(LatLng[] coordinates, RectF padding, double direction, long duration) {
+ public void setVisibleCoordinateBounds(LatLng[] coordinates, RectF padding, double direction) {
if (isDestroyedOn("setVisibleCoordinateBounds")) {
return;
}
- nativeSetVisibleCoordinateBounds(coordinates, padding, direction, duration);
+ nativeSetVisibleCoordinateBounds(coordinates, padding, direction);
}
public void onLowMemory() {
@@ -873,9 +837,9 @@ final class NativeMapView {
private native void nativeSetGestureInProgress(boolean inProgress);
- private native void nativeMoveBy(double dx, double dy, long duration);
+ private native void nativeMoveBy(double dx, double dy);
- private native void nativeSetLatLng(double latitude, double longitude, long duration);
+ private native void nativeSetLatLng(double latitude, double longitude);
private native LatLng nativeGetLatLng();
@@ -887,9 +851,9 @@ final class NativeMapView {
private native double nativeGetPitch();
- private native void nativeSetPitch(double pitch, long duration);
+ private native void nativeSetPitch(double pitch);
- private native void nativeSetZoom(double zoom, double cx, double cy, long duration);
+ private native void nativeSetZoom(double zoom, double cx, double cy);
private native double nativeGetZoom();
@@ -903,13 +867,13 @@ final class NativeMapView {
private native double nativeGetMaxZoom();
- private native void nativeRotateBy(double sx, double sy, double ex, double ey, long duration);
+ private native void nativeRotateBy(double sx, double sy, double ex, double ey);
private native void nativeSetContentPadding(double top, double left, double bottom, double right);
- private native void nativeSetBearing(double degrees, long duration);
+ private native void nativeSetBearing(double degrees);
- private native void nativeSetBearingXY(double degrees, double fx, double fy, long duration);
+ private native void nativeSetBearingXY(double degrees, double fx, double fy);
private native double nativeGetBearing();
@@ -931,8 +895,7 @@ final class NativeMapView {
private native void nativeRemoveAnnotationIcon(String symbol);
- private native void nativeSetVisibleCoordinateBounds(LatLng[] coordinates, RectF padding,
- double direction, long duration);
+ private native void nativeSetVisibleCoordinateBounds(LatLng[] coordinates, RectF padding, double direction);
private native void nativeOnLowMemory();
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/Transform.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/Transform.java
index 6f63c2eba8..f3ca4a193c 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/Transform.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/Transform.java
@@ -1,5 +1,9 @@
package com.mapbox.mapboxsdk.maps;
+import android.animation.Animator;
+import android.animation.AnimatorListenerAdapter;
+import android.animation.TypeEvaluator;
+import android.animation.ValueAnimator;
import android.graphics.PointF;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
@@ -12,6 +16,7 @@ import com.mapbox.mapboxsdk.camera.CameraUpdateFactory;
import com.mapbox.mapboxsdk.constants.MapboxConstants;
import com.mapbox.mapboxsdk.geometry.LatLng;
import com.mapbox.mapboxsdk.maps.widgets.MyLocationView;
+import com.mapbox.mapboxsdk.utils.AnimatorUtils;
import timber.log.Timber;
@@ -210,6 +215,10 @@ final class Transform implements MapView.OnMapChangedListener {
return cameraPosition.zoom;
}
+ double getRawZoom() {
+ return mapView.getZoom();
+ }
+
void zoom(boolean zoomIn, @NonNull PointF focalPoint) {
CameraPosition cameraPosition = invalidateCameraPosition();
if (cameraPosition != null) {
@@ -222,20 +231,29 @@ final class Transform implements MapView.OnMapChangedListener {
}
void setZoom(double zoom, @NonNull PointF focalPoint) {
- setZoom(zoom, focalPoint, 0);
+ mapView.setZoom(zoom, focalPoint);
}
- void setZoom(double zoom, @NonNull PointF focalPoint, long duration) {
- mapView.addOnMapChangedListener(new MapView.OnMapChangedListener() {
+ void setZoom(double zoom, @NonNull final PointF focalPoint, long duration) {
+ ValueAnimator animator = ValueAnimator.ofFloat(
+ (float) getRawZoom(),
+ (float) zoom
+ );
+ animator.setDuration(duration);
+ animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
+ @Override
+ public void onAnimationUpdate(ValueAnimator animation) {
+ mapView.setZoom((Float) animation.getAnimatedValue(), focalPoint);
+ }
+ });
+ animator.addListener(new AnimatorListenerAdapter() {
@Override
- public void onMapChanged(int change) {
- if (change == MapView.REGION_DID_CHANGE_ANIMATED) {
- cameraChangeDispatcher.onCameraIdle();
- mapView.removeOnMapChangedListener(this);
- }
+ public void onAnimationEnd(Animator animation) {
+ super.onAnimationEnd(animation);
+ cameraChangeDispatcher.onCameraIdle();
}
});
- mapView.setZoom(zoom, focalPoint, duration);
+ animator.start();
}
// Direction
@@ -270,14 +288,21 @@ final class Transform implements MapView.OnMapChangedListener {
mapView.setBearing(bearing, focalX, focalY);
}
- void setBearing(double bearing, float focalX, float focalY, long duration) {
- if (myLocationView != null) {
- myLocationView.setBearing(bearing);
- }
- mapView.setBearing(bearing, focalX, focalY, duration);
+ void setBearing(double bearing, final float focalX, final float focalY, long duration) {
+ ValueAnimator animator = ValueAnimator.ofFloat(
+ (float) getRawBearing(),
+ (float) bearing
+ );
+ animator.setDuration(duration);
+ animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
+ @Override
+ public void onAnimationUpdate(ValueAnimator animation) {
+ setBearing((Float) animation.getAnimatedValue(), focalX, focalY);
+ }
+ });
+ animator.start();
}
-
//
// LatLng / CenterCoordinate
//
@@ -299,7 +324,7 @@ final class Transform implements MapView.OnMapChangedListener {
myLocationView.setTilt(pitch);
}
markerViewManager.setTilt(pitch.floatValue());
- mapView.setPitch(pitch, 0);
+ mapView.setPitch(pitch);
}
//
@@ -322,22 +347,31 @@ final class Transform implements MapView.OnMapChangedListener {
}
void zoomBy(double z, float x, float y) {
- mapView.setZoom(mapView.getZoom() + z, new PointF(x, y), 0);
+ mapView.setZoom(getRawZoom() + z, new PointF(x, y));
}
void moveBy(double offsetX, double offsetY, long duration) {
- if (duration > 0) {
- mapView.addOnMapChangedListener(new MapView.OnMapChangedListener() {
- @Override
- public void onMapChanged(int change) {
- if (change == MapView.REGION_DID_CHANGE_ANIMATED) {
- mapView.removeOnMapChangedListener(this);
- cameraChangeDispatcher.onCameraIdle();
- }
- }
- });
- }
- mapView.moveBy(offsetX, offsetY, duration);
+ PointF offset = new PointF((float) offsetX, (float) offsetY);
+ ValueAnimator animator = ValueAnimator.ofObject(new AnimatorUtils.PointFEvaluator(),
+ new PointF(),
+ offset
+ );
+ animator.setDuration(duration);
+ animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
+ @Override
+ public void onAnimationUpdate(ValueAnimator animation) {
+ PointF pointF = (PointF) animation.getAnimatedValue();
+ mapView.moveBy(pointF.x, pointF.y);
+ }
+ });
+ animator.addListener(new AnimatorListenerAdapter() {
+ @Override
+ public void onAnimationEnd(Animator animation) {
+ super.onAnimationEnd(animation);
+ cameraChangeDispatcher.onCameraIdle();
+ }
+ });
+ animator.start();
}
//
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/utils/AnimatorUtils.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/utils/AnimatorUtils.java
index 34c52c829b..1e9e215491 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/utils/AnimatorUtils.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/utils/AnimatorUtils.java
@@ -4,12 +4,17 @@ import android.animation.Animator;
import android.animation.AnimatorInflater;
import android.animation.AnimatorListenerAdapter;
import android.animation.ObjectAnimator;
+import android.animation.PointFEvaluator;
+import android.animation.TypeEvaluator;
+import android.graphics.PointF;
import android.support.annotation.AnimatorRes;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v4.view.animation.FastOutSlowInInterpolator;
import android.view.View;
+import com.mapbox.mapboxsdk.geometry.LatLng;
+
/**
* Animator utility class.
*/
@@ -165,4 +170,31 @@ public class AnimatorUtils {
public interface OnAnimationEndListener {
void onAnimationEnd();
}
+
+ public static class PointFEvaluator implements TypeEvaluator<PointF> {
+
+ private final PointF pointF = new PointF();
+
+ @Override
+ public PointF evaluate(float fraction, PointF startValue, PointF endValue) {
+ pointF.x = startValue.x + ((endValue.x - startValue.x) * fraction);
+ pointF.y = startValue.y + ((endValue.y - startValue.y) * fraction);
+ return pointF;
+ }
+ }
+
+ public static class LatLngEvaluator implements TypeEvaluator<LatLng> {
+
+ private final LatLng latLng = new LatLng();
+
+ @Override
+ public LatLng evaluate(float fraction, LatLng startValue, LatLng endValue) {
+ latLng.setLatitude(startValue.getLatitude()
+ + ((endValue.getLatitude() - startValue.getLatitude()) * fraction));
+ latLng.setLongitude(startValue.getLongitude()
+ + ((endValue.getLongitude() - startValue.getLongitude()) * fraction));
+ return latLng;
+ }
+ }
}
+
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/annotation/AnimatedMarkerActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/annotation/AnimatedMarkerActivity.java
index 52181cee0c..ff1eb23963 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/annotation/AnimatedMarkerActivity.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/annotation/AnimatedMarkerActivity.java
@@ -27,6 +27,7 @@ import com.mapbox.mapboxsdk.maps.MapboxMap;
import com.mapbox.mapboxsdk.maps.OnMapReadyCallback;
import com.mapbox.mapboxsdk.testapp.R;
import com.mapbox.mapboxsdk.testapp.utils.IconUtils;
+import com.mapbox.mapboxsdk.utils.AnimatorUtils;
import com.mapbox.services.api.utils.turf.TurfMeasurement;
import com.mapbox.services.commons.models.Position;
@@ -175,7 +176,7 @@ public class AnimatedMarkerActivity extends AppCompatActivity {
marker.setRotation((float) getBearing(marker.getPosition(), to));
final ValueAnimator markerAnimator = ObjectAnimator.ofObject(
- marker, "position", new LatLngEvaluator(), marker.getPosition(), to);
+ marker, "position", new AnimatorUtils.LatLngEvaluator(), marker.getPosition(), to);
markerAnimator.setDuration((long) (10 * marker.getPosition().distanceTo(to)));
markerAnimator.setInterpolator(new AccelerateDecelerateInterpolator());
@@ -268,23 +269,6 @@ public class AnimatedMarkerActivity extends AppCompatActivity {
mapView.onLowMemory();
}
- /**
- * Evaluator for LatLng pairs
- */
- private static class LatLngEvaluator implements TypeEvaluator<LatLng> {
-
- private LatLng latLng = new LatLng();
-
- @Override
- public LatLng evaluate(float fraction, LatLng startValue, LatLng endValue) {
- latLng.setLatitude(startValue.getLatitude()
- + ((endValue.getLatitude() - startValue.getLatitude()) * fraction));
- latLng.setLongitude(startValue.getLongitude()
- + ((endValue.getLongitude() - startValue.getLongitude()) * fraction));
- return latLng;
- }
- }
-
private double getBearing(LatLng from, LatLng to) {
return TurfMeasurement.bearing(
Position.fromCoordinates(from.getLongitude(), from.getLatitude()),
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/camera/CameraAnimatorActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/camera/CameraAnimatorActivity.java
index c8c5c6bd37..ebac25eb78 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/camera/CameraAnimatorActivity.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/camera/CameraAnimatorActivity.java
@@ -24,6 +24,7 @@ import com.mapbox.mapboxsdk.maps.MapView;
import com.mapbox.mapboxsdk.maps.MapboxMap;
import com.mapbox.mapboxsdk.maps.OnMapReadyCallback;
import com.mapbox.mapboxsdk.testapp.R;
+import com.mapbox.mapboxsdk.utils.AnimatorUtils;
/**
* Test activity showcasing using Android SDK animators to animate camera position changes.
@@ -129,7 +130,7 @@ public class CameraAnimatorActivity extends AppCompatActivity implements OnMapRe
}
private Animator createLatLngAnimator(LatLng currentPosition, LatLng targetPosition) {
- ValueAnimator latLngAnimator = ValueAnimator.ofObject(new LatLngEvaluator(), currentPosition, targetPosition);
+ ValueAnimator latLngAnimator = ValueAnimator.ofObject(new AnimatorUtils.LatLngEvaluator(), currentPosition, targetPosition);
latLngAnimator.setDuration((long) (1000 * ANIMATION_DELAY_FACTOR));
latLngAnimator.setInterpolator(new FastOutSlowInInterpolator());
latLngAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@@ -284,23 +285,6 @@ public class CameraAnimatorActivity extends AppCompatActivity implements OnMapRe
mapView.onLowMemory();
}
- /**
- * Helper class to evaluate LatLng objects with a ValueAnimator
- */
- private static class LatLngEvaluator implements TypeEvaluator<LatLng> {
-
- private final LatLng latLng = new LatLng();
-
- @Override
- public LatLng evaluate(float fraction, LatLng startValue, LatLng endValue) {
- latLng.setLatitude(startValue.getLatitude()
- + ((endValue.getLatitude() - startValue.getLatitude()) * fraction));
- latLng.setLongitude(startValue.getLongitude()
- + ((endValue.getLongitude() - startValue.getLongitude()) * fraction));
- return latLng;
- }
- }
-
interface AnimatorBuilder {
Animator build();
}
diff --git a/platform/android/src/native_map_view.cpp b/platform/android/src/native_map_view.cpp
index 24a35a7068..fa84025079 100755
--- a/platform/android/src/native_map_view.cpp
+++ b/platform/android/src/native_map_view.cpp
@@ -210,13 +210,8 @@ void NativeMapView::setGestureInProgress(jni::JNIEnv&, jni::jboolean inProgress)
map->setGestureInProgress(inProgress);
}
-void NativeMapView::moveBy(jni::JNIEnv&, jni::jdouble dx, jni::jdouble dy, jni::jlong duration) {
- mbgl::AnimationOptions animationOptions;
- if (duration > 0) {
- animationOptions.duration.emplace(mbgl::Milliseconds(duration));
- animationOptions.easing.emplace(mbgl::util::UnitBezier {0.25, 0.46, 0.45, 0.94});
- }
- map->moveBy({dx, dy}, animationOptions);
+void NativeMapView::moveBy(jni::JNIEnv&, jni::jdouble dx, jni::jdouble dy) {
+ map->moveBy({dx, dy}, mbgl::AnimationOptions{});
}
void NativeMapView::jumpTo(jni::JNIEnv&, jni::jdouble angle, jni::jdouble latitude, jni::jdouble longitude, jni::jdouble pitch, jni::jdouble zoom) {
@@ -283,8 +278,8 @@ jni::Object<LatLng> NativeMapView::getLatLng(JNIEnv& env) {
return LatLng::New(env, map->getLatLng(insets));
}
-void NativeMapView::setLatLng(jni::JNIEnv&, jni::jdouble latitude, jni::jdouble longitude, jni::jlong duration) {
- map->setLatLng(mbgl::LatLng(latitude, longitude), insets, mbgl::AnimationOptions{mbgl::Milliseconds(duration)});
+void NativeMapView::setLatLng(jni::JNIEnv&, jni::jdouble latitude, jni::jdouble longitude) {
+ map->setLatLng(mbgl::LatLng(latitude, longitude), insets, mbgl::AnimationOptions{});
}
jni::Object<CameraPosition> NativeMapView::getCameraForLatLngBounds(jni::JNIEnv& env, jni::Object<LatLngBounds> jBounds) {
@@ -310,12 +305,12 @@ jni::jdouble NativeMapView::getPitch(jni::JNIEnv&) {
return map->getPitch();
}
-void NativeMapView::setPitch(jni::JNIEnv&, jni::jdouble pitch, jni::jlong duration) {
- map->setPitch(pitch, mbgl::AnimationOptions{mbgl::Milliseconds(duration)});
+void NativeMapView::setPitch(jni::JNIEnv&, jni::jdouble pitch) {
+ map->setPitch(pitch, mbgl::AnimationOptions{});
}
-void NativeMapView::setZoom(jni::JNIEnv&, jni::jdouble zoom, jni::jdouble x, jni::jdouble y, jni::jlong duration) {
- map->setZoom(zoom, mbgl::ScreenCoordinate{x,y}, mbgl::AnimationOptions{mbgl::Milliseconds(duration)});
+void NativeMapView::setZoom(jni::JNIEnv&, jni::jdouble zoom, jni::jdouble x, jni::jdouble y) {
+ map->setZoom(zoom, mbgl::ScreenCoordinate{x,y}, mbgl::AnimationOptions{});
}
jni::jdouble NativeMapView::getZoom(jni::JNIEnv&) {
@@ -342,19 +337,19 @@ jni::jdouble NativeMapView::getMaxZoom(jni::JNIEnv&) {
return map->getMaxZoom();
}
-void NativeMapView::rotateBy(jni::JNIEnv&, jni::jdouble sx, jni::jdouble sy, jni::jdouble ex, jni::jdouble ey, jni::jlong duration) {
+void NativeMapView::rotateBy(jni::JNIEnv&, jni::jdouble sx, jni::jdouble sy, jni::jdouble ex, jni::jdouble ey) {
mbgl::ScreenCoordinate first(sx, sy);
mbgl::ScreenCoordinate second(ex, ey);
- map->rotateBy(first, second, mbgl::AnimationOptions{mbgl::Milliseconds(duration)});
+ map->rotateBy(first, second, mbgl::AnimationOptions{});
}
-void NativeMapView::setBearing(jni::JNIEnv&, jni::jdouble degrees, jni::jlong duration) {
- map->setBearing(degrees, mbgl::AnimationOptions{mbgl::Milliseconds(duration)});
+void NativeMapView::setBearing(jni::JNIEnv&, jni::jdouble degrees) {
+ map->setBearing(degrees, mbgl::AnimationOptions{});
}
-void NativeMapView::setBearingXY(jni::JNIEnv&, jni::jdouble degrees, jni::jdouble cx, jni::jdouble cy, jni::jlong duration) {
+void NativeMapView::setBearingXY(jni::JNIEnv&, jni::jdouble degrees, jni::jdouble cx, jni::jdouble cy) {
mbgl::ScreenCoordinate center(cx, cy);
- map->setBearing(degrees, center, mbgl::AnimationOptions{mbgl::Milliseconds(duration)});
+ map->setBearing(degrees, center, mbgl::AnimationOptions{});
}
jni::jdouble NativeMapView::getBearing(jni::JNIEnv&) {
@@ -365,7 +360,7 @@ void NativeMapView::resetNorth(jni::JNIEnv&) {
map->resetNorth();
}
-void NativeMapView::setVisibleCoordinateBounds(JNIEnv& env, jni::Array<jni::Object<LatLng>> coordinates, jni::Object<RectF> padding, jdouble direction, jni::jlong duration) {
+void NativeMapView::setVisibleCoordinateBounds(JNIEnv& env, jni::Array<jni::Object<LatLng>> coordinates, jni::Object<RectF> padding, jdouble direction) {
NullCheck(env, &coordinates);
std::size_t count = coordinates.Length(env);
@@ -385,14 +380,7 @@ void NativeMapView::setVisibleCoordinateBounds(JNIEnv& env, jni::Array<jni::Obje
cameraOptions.angle = (-direction * M_PI) / 180;
}
- mbgl::AnimationOptions animationOptions;
- if (duration > 0) {
- animationOptions.duration.emplace(mbgl::Milliseconds(duration));
- // equivalent to kCAMediaTimingFunctionDefault in iOS
- animationOptions.easing.emplace(mbgl::util::UnitBezier { 0.25, 0.1, 0.25, 0.1 });
- }
-
- map->easeTo(cameraOptions, animationOptions);
+ map->easeTo(cameraOptions, mbgl::AnimationOptions{});
}
void NativeMapView::setContentPadding(JNIEnv&, double top, double left, double bottom, double right) {
diff --git a/platform/android/src/native_map_view.hpp b/platform/android/src/native_map_view.hpp
index 4d226d0fa9..c0a686d9ce 100755
--- a/platform/android/src/native_map_view.hpp
+++ b/platform/android/src/native_map_view.hpp
@@ -91,7 +91,7 @@ public:
void setGestureInProgress(jni::JNIEnv&, jni::jboolean);
- void moveBy(jni::JNIEnv&, jni::jdouble, jni::jdouble, jni::jlong);
+ void moveBy(jni::JNIEnv&, jni::jdouble, jni::jdouble);
void jumpTo(jni::JNIEnv&, jni::jdouble, jni::jdouble, jni::jdouble, jni::jdouble, jni::jdouble);
@@ -101,7 +101,7 @@ public:
jni::Object<LatLng> getLatLng(JNIEnv&);
- void setLatLng(jni::JNIEnv&, jni::jdouble, jni::jdouble, jni::jlong);
+ void setLatLng(jni::JNIEnv&, jni::jdouble, jni::jdouble);
jni::Object<CameraPosition> getCameraForLatLngBounds(jni::JNIEnv&, jni::Object<mbgl::android::LatLngBounds>);
@@ -113,9 +113,9 @@ public:
jni::jdouble getPitch(jni::JNIEnv&);
- void setPitch(jni::JNIEnv&, jni::jdouble, jni::jlong);
+ void setPitch(jni::JNIEnv&, jni::jdouble);
- void setZoom(jni::JNIEnv&, jni::jdouble, jni::jdouble, jni::jdouble, jni::jlong);
+ void setZoom(jni::JNIEnv&, jni::jdouble, jni::jdouble, jni::jdouble);
jni::jdouble getZoom(jni::JNIEnv&);
@@ -129,17 +129,17 @@ public:
jni::jdouble getMaxZoom(jni::JNIEnv&);
- void rotateBy(jni::JNIEnv&, jni::jdouble, jni::jdouble, jni::jdouble, jni::jdouble, jni::jlong);
+ void rotateBy(jni::JNIEnv&, jni::jdouble, jni::jdouble, jni::jdouble, jni::jdouble);
- void setBearing(jni::JNIEnv&, jni::jdouble, jni::jlong);
+ void setBearing(jni::JNIEnv&, jni::jdouble);
- void setBearingXY(jni::JNIEnv&, jni::jdouble, jni::jdouble, jni::jdouble, jni::jlong);
+ void setBearingXY(jni::JNIEnv&, jni::jdouble, jni::jdouble, jni::jdouble);
jni::jdouble getBearing(jni::JNIEnv&);
void resetNorth(jni::JNIEnv&);
- void setVisibleCoordinateBounds(JNIEnv&, jni::Array<jni::Object<LatLng>>, jni::Object<RectF>, jni::jdouble, jni::jlong);
+ void setVisibleCoordinateBounds(JNIEnv&, jni::Array<jni::Object<LatLng>>, jni::Object<RectF>, jni::jdouble);
void setContentPadding(JNIEnv&, double, double, double, double);