示例#1
0
        // 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();
        }