summaryrefslogtreecommitdiff
path: root/platform/android/MapboxGLAndroidSDK/src/main/java/com
diff options
context:
space:
mode:
authorTobrun <tobrun.van.nuland@gmail.com>2016-09-29 11:41:08 +0200
committerGitHub <noreply@github.com>2016-09-29 11:41:08 +0200
commitc97a1047dfabe06cd87a0d1bb6dfd855f9727629 (patch)
tree96b295b9fa1ea347e9d92f99cf2525e1d4611210 /platform/android/MapboxGLAndroidSDK/src/main/java/com
parent1777b8757a437d6f27928c2bb3d821fc8679cf20 (diff)
downloadqtlocation-mapboxgl-c97a1047dfabe06cd87a0d1bb6dfd855f9727629.tar.gz
6453 restore tilt after orientation (#6491)
* [android] - correct tilt value when restoring activity or creating from xml * correct values requesting camera position adhoc * updated logic change in unit tests
Diffstat (limited to 'platform/android/MapboxGLAndroidSDK/src/main/java/com')
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/camera/CameraPosition.java33
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/camera/CameraUpdateFactory.java8
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/constants/MathConstants.java22
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/geometry/LatLng.java11
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapView.java2
5 files changed, 14 insertions, 62 deletions
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/camera/CameraPosition.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/camera/CameraPosition.java
index f1432b1e8d..e1a464bcdf 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/camera/CameraPosition.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/camera/CameraPosition.java
@@ -3,11 +3,9 @@ package com.mapbox.mapboxsdk.camera;
import android.content.res.TypedArray;
import android.os.Parcel;
import android.os.Parcelable;
-import android.support.annotation.FloatRange;
import com.mapbox.mapboxsdk.R;
import com.mapbox.mapboxsdk.constants.MapboxConstants;
-import com.mapbox.mapboxsdk.constants.MathConstants;
import com.mapbox.mapboxsdk.geometry.LatLng;
import com.mapbox.mapboxsdk.utils.MathUtils;
@@ -125,7 +123,6 @@ public final class CameraPosition implements Parcelable {
private LatLng target = null;
private double tilt = -1;
private double zoom = -1;
- private boolean isRadian;
/**
* Creates an empty builder.
@@ -135,15 +132,6 @@ public final class CameraPosition implements Parcelable {
}
/**
- * Creates a builder for building CameraPosition objects using radians.
- *
- * @param isRadian true if heading is in radians
- */
- public Builder(boolean isRadian) {
- this.isRadian = isRadian;
- }
-
- /**
* Create Builder with an existing CameraPosition data.
*
* @param previous Existing CameraPosition values to use
@@ -170,7 +158,7 @@ public final class CameraPosition implements Parcelable {
double lat = typedArray.getFloat(R.styleable.MapView_center_latitude, 0.0f);
double lng = typedArray.getFloat(R.styleable.MapView_center_longitude, 0.0f);
this.target = new LatLng(lat, lng);
- this.tilt = typedArray.getFloat(R.styleable.MapView_tilt, 0.0f);
+ this.tilt = Math.toRadians(typedArray.getFloat(R.styleable.MapView_tilt, 0.0f));
this.zoom = typedArray.getFloat(R.styleable.MapView_zoom, 0.0f);
}
}
@@ -203,7 +191,7 @@ public final class CameraPosition implements Parcelable {
}
/**
- * Create Builder from an exisiting array of doubles.
+ * Create Builder from an existing array of doubles.
*
* @param values Values containing target, bearing, tilt and zoom
*/
@@ -212,7 +200,7 @@ public final class CameraPosition implements Parcelable {
if (values != null && values.length == 5) {
this.target = new LatLng(values[0], values[1]);
this.bearing = (float) values[2];
- this.tilt = (float) values[3];
+ this.tilt = Math.toRadians(values[3]);
this.zoom = (float) values[4];
}
}
@@ -224,12 +212,7 @@ public final class CameraPosition implements Parcelable {
* @return Builder
*/
public Builder bearing(double bearing) {
- if (isRadian) {
- this.bearing = bearing;
- } else {
- // converting degrees to radians
- this.bearing = (float) (-bearing * MathConstants.DEG2RAD);
- }
+ this.bearing = bearing;
return this;
}
@@ -259,14 +242,8 @@ public final class CameraPosition implements Parcelable {
* @param tilt Tilt value
* @return Builder
*/
- @FloatRange(from = 0.0, to = 60.0)
public Builder tilt(double tilt) {
- if (isRadian) {
- this.tilt = tilt;
- } else {
- // converting degrees to radians
- this.tilt = (float) (MathUtils.clamp(tilt, MapboxConstants.MINIMUM_TILT, MapboxConstants.MAXIMUM_TILT) * MathConstants.DEG2RAD);
- }
+ this.tilt = (float) Math.toRadians(MathUtils.clamp(tilt, MapboxConstants.MINIMUM_TILT, MapboxConstants.MAXIMUM_TILT));
return this;
}
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/camera/CameraUpdateFactory.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/camera/CameraUpdateFactory.java
index 028d077a09..73e67270ae 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/camera/CameraUpdateFactory.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/camera/CameraUpdateFactory.java
@@ -184,8 +184,8 @@ public final class CameraUpdateFactory {
public CameraPosition getCameraPosition(@NonNull MapboxMap mapboxMap) {
CameraPosition previousPosition = mapboxMap.getCameraPosition();
if (target == null) {
- return new CameraPosition.Builder(true)
- .tilt(tilt)
+ return new CameraPosition.Builder()
+ .tilt(Math.toDegrees(tilt))
.zoom(zoom)
.bearing(bearing)
.target(previousPosition.target)
@@ -310,8 +310,8 @@ public final class CameraUpdateFactory {
.bearing(previousPosition.bearing)
.build();
} else {
- return new CameraPosition.Builder(true)
- .tilt(previousPosition.tilt)
+ return new CameraPosition.Builder()
+ .tilt(Math.toDegrees(previousPosition.tilt))
.zoom(previousPosition.zoom)
.bearing(previousPosition.bearing)
.target(previousPosition.target)
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/constants/MathConstants.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/constants/MathConstants.java
deleted file mode 100644
index 6e320cc9f6..0000000000
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/constants/MathConstants.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package com.mapbox.mapboxsdk.constants;
-
-/**
- * MathConstants exposes math related constant values
- */
-public class MathConstants {
-
- /**
- * Constant used to convert degrees to radials
- */
- public static final double DEG2RAD = (Math.PI / 180.0);
-
- /**
- * Constant used to convert radials to degrees
- */
- public static final double RAD2DEG = (180.0 / Math.PI);
-
- /**
- * The number PI
- */
- public static final double PI = Math.PI;
-}
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/geometry/LatLng.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/geometry/LatLng.java
index 1ba2a14e94..4449a7fe0d 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/geometry/LatLng.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/geometry/LatLng.java
@@ -5,11 +5,8 @@ import android.os.Parcel;
import android.os.Parcelable;
import com.mapbox.mapboxsdk.constants.GeoConstants;
-import com.mapbox.mapboxsdk.constants.MathConstants;
import com.mapbox.mapboxsdk.utils.MathUtils;
-import java.io.Serializable;
-
/**
* A geographical location which contains a single latitude, longitude pair, with
* optional altitude.
@@ -188,10 +185,10 @@ public class LatLng implements ILatLng, Parcelable {
return 0.0;
}
- final double a1 = MathConstants.DEG2RAD * this.latitude;
- final double a2 = MathConstants.DEG2RAD * this.longitude;
- final double b1 = MathConstants.DEG2RAD * other.getLatitude();
- final double b2 = MathConstants.DEG2RAD * other.getLongitude();
+ final double a1 = Math.toRadians(this.latitude);
+ final double a2 = Math.toRadians(this.longitude);
+ final double b1 = Math.toRadians(other.getLatitude());
+ final double b2 = Math.toRadians(other.getLongitude());
final double cosa1 = Math.cos(a1);
final double cosb1 = Math.cos(b1);
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 6896e9a236..fc46f3e903 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
@@ -382,7 +382,7 @@ public class MapView extends FrameLayout {
// Get previous camera position
CameraPosition cameraPosition = savedInstanceState.getParcelable(MapboxConstants.STATE_CAMERA_POSITION);
if (cameraPosition != null) {
- mapboxMap.moveCamera(CameraUpdateFactory.newCameraPosition(cameraPosition));
+ mapboxMap.moveCamera(CameraUpdateFactory.newCameraPosition(new CameraPosition.Builder(cameraPosition).build()));
}
UiSettings uiSettings = mapboxMap.getUiSettings();