// Animate Marker on the map between retrieving positions // Not working with MapBox for now private void AnimateMarkerOnMap(Icon icon, MarkerOptions markerToUpdate, LatLng newPosition, double?compassCourse, LatLng oldPosition) { markerToUpdate.InvokeIcon(icon); var evaluator = new LatLngEvaluator(); var valueAnimator = ValueAnimator.OfObject(evaluator, new LatLng(oldPosition.Latitude, oldPosition.Longitude), newPosition); valueAnimator.AddUpdateListener(new MarkerAnimatorAdapter(markerToUpdate)); valueAnimator.SetDuration(5000); valueAnimator.SetInterpolator(new Android.Views.Animations.LinearInterpolator()); valueAnimator.Start(); }
// Animate Marker on the map between retrieving positions private void AnimateMarkerOnMap(BitmapDescriptor icon, Marker markerToUpdate, LatLng newPosition, double?compassCourse, Position oldPosition) { markerToUpdate.SetIcon(icon); markerToUpdate.SetAnchor(.5f, ViewModel.Settings.ShowOrientedPins && compassCourse.HasValue ? .5f : 1f); var evaluator = new LatLngEvaluator(); var objectAnimator = ObjectAnimator.OfObject(markerToUpdate, "position", evaluator, new LatLng(oldPosition.Latitude, oldPosition.Longitude), newPosition); objectAnimator.SetAutoCancel(true); objectAnimator.SetDuration(5000); objectAnimator.SetInterpolator(new Android.Views.Animations.LinearInterpolator()); objectAnimator.Start(); }