Using custom camera animations
Animate the map camera to a new position using camera animators. Individual camera properties such as zoom, bearing, and center coordinate can be animated independently.
package com.mapbox.maps.testapp.examples.camera import android.os.Bundleimport android.view.animation.AccelerateDecelerateInterpolatorimport androidx.appcompat.app.AppCompatActivityimport com.mapbox.geojson.Pointimport com.mapbox.maps.MapViewimport com.mapbox.maps.MapboxMapimport com.mapbox.maps.Styleimport com.mapbox.maps.dsl.cameraOptionsimport com.mapbox.maps.plugin.animation.CameraAnimatorOptions.Companion.cameraAnimatorOptionsimport com.mapbox.maps.plugin.animation.camera class LowLevelCameraAnimatorActivity : AppCompatActivity() { private lateinit var mapboxMap: MapboxMap override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)val mapView = MapView(this)setContentView(mapView)mapboxMap = mapView.getMapboxMap()mapboxMap.setCamera(CAMERA_TARGET)mapboxMap.loadStyleUri(Style.MAPBOX_STREETS) {mapView.camera.apply {val bearing = createBearingAnimator(cameraAnimatorOptions(-45.0)) {duration = 4000interpolator = AccelerateDecelerateInterpolator()}val zoom = createZoomAnimator(cameraAnimatorOptions(14.0) {startValue(3.0)}) {duration = 4000interpolator = AccelerateDecelerateInterpolator()}val pitch = createPitchAnimator(cameraAnimatorOptions(55.0) {startValue(0.0)}) {duration = 4000interpolator = AccelerateDecelerateInterpolator()}playAnimatorsSequentially(zoom, pitch, bearing)}}} private companion object {private val CAMERA_TARGET = cameraOptions {center(Point.fromLngLat(-74.0060, 40.7128))zoom(3.0)}}}