From 6fa1d357b384fd347c5a7a83586cd923128ff52e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Paczos?= Date: Tue, 7 May 2019 17:42:16 +0200 Subject: [android] option to provide custom values for location camera transition --- .../activity/location/LocationModesActivity.java | 50 +++++++++++----------- .../src/main/res/menu/menu_location_mode.xml | 4 ++ 2 files changed, 30 insertions(+), 24 deletions(-) (limited to 'platform/android/MapboxGLAndroidSDKTestApp/src/main') diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/location/LocationModesActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/location/LocationModesActivity.java index 718a536a08..2366950834 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/location/LocationModesActivity.java +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/location/LocationModesActivity.java @@ -16,7 +16,6 @@ import android.widget.Toast; import com.mapbox.android.core.location.LocationEngineRequest; import com.mapbox.android.core.permissions.PermissionsListener; import com.mapbox.android.core.permissions.PermissionsManager; -import com.mapbox.mapboxsdk.camera.CameraUpdateFactory; import com.mapbox.mapboxsdk.location.LocationComponent; import com.mapbox.mapboxsdk.location.LocationComponentActivationOptions; import com.mapbox.mapboxsdk.location.LocationComponentOptions; @@ -183,6 +182,22 @@ public class LocationModesActivity extends AppCompatActivity implements OnMapRea locationComponent.setMaxAnimationFps(5); } else if (id == R.id.action_component_throttling_disabled) { locationComponent.setMaxAnimationFps(Integer.MAX_VALUE); + } else if (id == R.id.action_component_animate_while_tracking) { + locationComponent.zoomWhileTracking(17, 750, new MapboxMap.CancelableCallback() { + @Override + public void onCancel() { + // No impl + } + + @Override + public void onFinish() { + locationComponent.tiltWhileTracking(60); + } + }); + if (locationComponent.getCameraMode() == CameraMode.NONE) { + + Toast.makeText(this, "Not possible to animate - not tracking", Toast.LENGTH_SHORT).show(); + } } return super.onOptionsItemSelected(item); @@ -370,31 +385,18 @@ public class LocationModesActivity extends AppCompatActivity implements OnMapRea } private void setCameraTrackingMode(@CameraMode.Mode int mode) { - locationComponent.setCameraMode(mode, new OnLocationCameraTransitionListener() { - @Override - public void onLocationCameraTransitionFinished(@CameraMode.Mode int cameraMode) { - if (mode != CameraMode.NONE) { - locationComponent.zoomWhileTracking(15, 750, new MapboxMap.CancelableCallback() { - @Override - public void onCancel() { - // No impl - } - - @Override - public void onFinish() { - locationComponent.tiltWhileTracking(45); - } - }); - } else { - mapboxMap.easeCamera(CameraUpdateFactory.tiltTo(0)); + locationComponent.setCameraMode(mode, 1200, 16.0, null, 45.0, + new OnLocationCameraTransitionListener() { + @Override + public void onLocationCameraTransitionFinished(@CameraMode.Mode int cameraMode) { + Toast.makeText(LocationModesActivity.this, "Transition finished", Toast.LENGTH_SHORT).show(); } - } - @Override - public void onLocationCameraTransitionCanceled(@CameraMode.Mode int cameraMode) { - // No impl - } - }); + @Override + public void onLocationCameraTransitionCanceled(@CameraMode.Mode int cameraMode) { + Toast.makeText(LocationModesActivity.this, "Transition canceled", Toast.LENGTH_SHORT).show(); + } + }); } @Override diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/menu/menu_location_mode.xml b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/menu/menu_location_mode.xml index f89d4365a8..535679a1c4 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/menu/menu_location_mode.xml +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/menu/menu_location_mode.xml @@ -32,4 +32,8 @@ + + \ No newline at end of file -- cgit v1.2.1