Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * Smooth moving my location marker arrow
- * @param marker - marker itself
- * @param newLatLng - new location to move
- */
- private fun changePositionSmoothly(marker: Marker?, newLatLng: LatLng) {
- if (marker == null) {
- return
- }
- val animation = ValueAnimator.ofFloat(0f, 100f)
- var previousStep = 0f
- val deltaLatitude = newLatLng.latitude - marker.position.latitude
- val deltaLongitude = newLatLng.longitude - marker.position.longitude
- animation.duration = 1000
- animation.addUpdateListener { updatedAnimation ->
- val deltaStep = updatedAnimation.animatedValue as Float - previousStep
- previousStep = updatedAnimation.animatedValue as Float
- marker.position = LatLng(marker.position.latitude + deltaLatitude * deltaStep * 1 / 100, marker.position.longitude + deltaStep * deltaLongitude * 1 / 100)
- }
- animation.start()
- }
Add Comment
Please, Sign In to add comment