summaryrefslogtreecommitdiff
path: root/android
diff options
context:
space:
mode:
authorBrad Leege <bleege@gmail.com>2015-12-02 15:11:11 -0600
committerBrad Leege <bleege@gmail.com>2015-12-03 16:57:43 -0600
commit8c55bc4a0f38f0f0129b58cb0732f6f26363970a (patch)
tree3e39055d2291518ff1945c90921641ede52ce600 /android
parent44fb85efc0ce0aabe6697369e28fa18ec7dbbd14 (diff)
downloadqtlocation-mapboxgl-8c55bc4a0f38f0f0129b58cb0732f6f26363970a.tar.gz
[android] #2805 - CameraUpdate and animateCamera() API
Diffstat (limited to 'android')
-rw-r--r--android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/camera/CameraUpdate.java40
-rw-r--r--android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/camera/CameraUpdateFactory.java15
-rw-r--r--android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/views/MapView.java16
-rw-r--r--android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/TiltActivity.java4
4 files changed, 73 insertions, 2 deletions
diff --git a/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/camera/CameraUpdate.java b/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/camera/CameraUpdate.java
new file mode 100644
index 0000000000..d69f82b806
--- /dev/null
+++ b/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/camera/CameraUpdate.java
@@ -0,0 +1,40 @@
+package com.mapbox.mapboxsdk.camera;
+
+import com.mapbox.mapboxsdk.geometry.LatLng;
+
+public final class CameraUpdate {
+
+ /**
+ * Direction that the camera is pointing in, in degrees clockwise from north.
+ */
+ private final float bearing;
+
+ /**
+ * The location that the camera is pointing at.
+ */
+ private final LatLng target;
+
+ /**
+ * The angle, in degrees, of the camera angle from the nadir (directly facing the Earth). See tilt(float) for details of restrictions on the range of values.
+ */
+ private final float tilt;
+
+ /**
+ * Zoom level near the center of the screen. See zoom(float) for the definition of the camera's zoom level.
+ */
+ private final float zoom;
+
+ /**
+ * Package Private Constructor to only be used CameraUpdateFactory
+ * @param bearing Final Bearing
+ * @param target Final Target
+ * @param tilt Final Tilt
+ * @param zoom Final Zoom
+ */
+ CameraUpdate(float bearing, LatLng target, float tilt, float zoom) {
+ this.bearing = bearing;
+ this.target = target;
+ this.tilt = tilt;
+ this.zoom = zoom;
+ }
+}
diff --git a/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/camera/CameraUpdateFactory.java b/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/camera/CameraUpdateFactory.java
new file mode 100644
index 0000000000..3ba2090bd2
--- /dev/null
+++ b/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/camera/CameraUpdateFactory.java
@@ -0,0 +1,15 @@
+package com.mapbox.mapboxsdk.camera;
+
+import android.support.annotation.NonNull;
+
+public class CameraUpdateFactory {
+
+ /**
+ * Returns a CameraUpdate that moves the camera to a specified CameraPosition.
+ * @param cameraPosition Camera Position to change to
+ * @return CameraUpdate Final Camera Position data
+ */
+ public static CameraUpdate newCameraPosition (@NonNull CameraPosition cameraPosition) {
+ return new CameraUpdate(cameraPosition.bearing, cameraPosition.target, cameraPosition.tilt, cameraPosition.zoom);
+ }
+}
diff --git a/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/views/MapView.java b/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/views/MapView.java
index 405eb0cbcb..79863c5a37 100644
--- a/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/views/MapView.java
+++ b/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/views/MapView.java
@@ -65,6 +65,7 @@ import com.mapbox.mapboxsdk.annotations.Polyline;
import com.mapbox.mapboxsdk.annotations.PolylineOptions;
import com.mapbox.mapboxsdk.annotations.Sprite;
import com.mapbox.mapboxsdk.annotations.SpriteFactory;
+import com.mapbox.mapboxsdk.camera.CameraUpdate;
import com.mapbox.mapboxsdk.constants.MyBearingTracking;
import com.mapbox.mapboxsdk.constants.MyLocationTracking;
import com.mapbox.mapboxsdk.constants.Style;
@@ -1101,6 +1102,21 @@ public final class MapView extends FrameLayout {
this.mScrollEnabled = scrollEnabled;
}
+
+ //
+ // Mirrored Google Map's Camera API
+ //
+
+ /**
+ * Animates the movement of the camera from the current position to the position defined in the update.
+ * See CameraUpdateFactory for a set of updates.
+ * @param update The change that should be applied to the camera.
+ */
+ @UiThread
+ public final void animateCamera (CameraUpdate update) {
+
+ }
+
//
// Rotation
//
diff --git a/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/TiltActivity.java b/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/TiltActivity.java
index 6e858ea2bc..88d48f1c85 100644
--- a/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/TiltActivity.java
+++ b/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/TiltActivity.java
@@ -5,8 +5,8 @@ import android.support.v7.app.ActionBar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.MenuItem;
-
import com.mapbox.mapboxsdk.camera.CameraPosition;
+import com.mapbox.mapboxsdk.camera.CameraUpdateFactory;
import com.mapbox.mapboxsdk.constants.Style;
import com.mapbox.mapboxsdk.geometry.LatLng;
import com.mapbox.mapboxsdk.utils.ApiAccess;
@@ -55,7 +55,7 @@ public class TiltActivity extends AppCompatActivity {
.build(); // Creates a CameraPosition from the builder
// Triggers tilt
- //mMapView.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition));
+ mMapView.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition));
}
@Override