Когда я уменьшаю карту, объект, который имеет мое текущее местоположение, перемещается, вот анимированный код, пожалуйста, помогите мне.
Если вам нужно больше моего приложения, скажите мне, пожалуйста.
package com.spartons.driverapp.helper
import android.os.Handler
import android.os.SystemClock
import android.view.animation.AccelerateDecelerateInterpolator
import com.google.android.gms.maps.model.LatLng
import com.google.android.gms.maps.model.Marker
import com.spartons.driverapp.interfaces.LatLngInterpolator
class MarkerAnimationHelper {
fun animateMarkerToGB(marker: Marker, finalPosition: LatLng,latLngInterpolator: LatLngInterpolator) {
val startPosition = marker.position
val handler = Handler()
val start = SystemClock.uptimeMillis()
val interpolator = AccelerateDecelerateInterpolator()
val durationInMs = 2000f
handler.post(object : Runnable {
var elapsed: Long = 0
var t: Float = 0.toFloat()
var v: Float = 0.toFloat()
override fun run() {
// Calculate progress using interpolator
elapsed = SystemClock.uptimeMillis() - start
t = elapsed / durationInMs
v = interpolator.getInterpolation(t)
marker.position = latLngInterpolator.interpolate(v,startPosition, finalPosition)
// Repeat till progress is complete.
if (t < 1) {
// Post again 16ms later.
handler.postDelayed(this, 16)
}
}
})
}
}