summaryrefslogtreecommitdiff
path: root/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/camera/CameraPosition.java
diff options
context:
space:
mode:
Diffstat (limited to 'platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/camera/CameraPosition.java')
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/camera/CameraPosition.java40
1 files changed, 32 insertions, 8 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 1b7bcba32e..004e7f5f84 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
@@ -81,6 +81,11 @@ public final class CameraPosition implements Parcelable {
}
@Override
+ public String toString() {
+ return "Target: " + target + ", Zoom:" + zoom + ", Bearing:" + bearing + ", Tilt:" + tilt;
+ }
+
+ @Override
public boolean equals(Object o) {
if (this == o) {
return true;
@@ -119,6 +124,7 @@ public final class CameraPosition implements Parcelable {
private LatLng target = null;
private float tilt = -1;
private float zoom = -1;
+ private boolean isRadiant;
/**
* Creates an empty builder.
@@ -128,6 +134,15 @@ public final class CameraPosition implements Parcelable {
}
/**
+ * Creates a builder for building CameraPosition objects using radiants.
+ *
+ * @param isRadiant
+ */
+ public Builder(boolean isRadiant) {
+ this.isRadiant = isRadiant;
+ }
+
+ /**
* Create Builder with an existing CameraPosition data.
*
* @param previous Existing CameraPosition values to use
@@ -147,13 +162,13 @@ public final class CameraPosition implements Parcelable {
*
* @param typedArray TypedArray containgin attribute values
*/
- public Builder(TypedArray typedArray){
+ public Builder(TypedArray typedArray) {
super();
- if(typedArray!=null) {
+ if (typedArray != null) {
this.bearing = typedArray.getFloat(R.styleable.MapView_direction, 0.0f);
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.target = new LatLng(lat, lng);
this.tilt = typedArray.getFloat(R.styleable.MapView_tilt, 0.0f);
this.zoom = typedArray.getFloat(R.styleable.MapView_zoom, 0.0f);
}
@@ -174,15 +189,14 @@ public final class CameraPosition implements Parcelable {
}
}
-
/**
* Create Builder from an existing CameraPositionUpdate update.
*
* @param update Update containing camera options
*/
- public Builder(CameraUpdateFactory.ZoomUpdate update){
+ public Builder(CameraUpdateFactory.ZoomUpdate update) {
super();
- if(update!=null){
+ if (update != null) {
this.zoom = update.getZoom();
}
}
@@ -194,7 +208,12 @@ public final class CameraPosition implements Parcelable {
* @return Builder
*/
public Builder bearing(float bearing) {
- this.bearing = (float) (-bearing * MathConstants.DEG2RAD);
+ if(isRadiant){
+ this.bearing = bearing;
+ }else{
+ // converting degrees to radiant
+ this.bearing = (float) (-bearing * MathConstants.DEG2RAD);
+ }
return this;
}
@@ -226,7 +245,12 @@ public final class CameraPosition implements Parcelable {
*/
@FloatRange(from = 0.0, to = 60.0)
public Builder tilt(float tilt) {
- this.tilt = (float) (MathUtils.clamp(tilt, MapboxConstants.MINIMUM_TILT, MapboxConstants.MAXIMUM_TILT) * MathConstants.DEG2RAD);
+ if(isRadiant){
+ this.tilt = tilt;
+ }else {
+ // converting degrees to radiant
+ this.tilt = (float) (MathUtils.clamp(tilt, MapboxConstants.MINIMUM_TILT, MapboxConstants.MAXIMUM_TILT) * MathConstants.DEG2RAD);
+ }
return this;
}