void UpdateCar(LatLng latlng)
 {
     if (latlng == null || map == null)
         return;
     Activity?.RunOnUiThread(() =>
     {
         if (carMarker == null)
         {
             var car = new MarkerOptions();
             car.SetPosition(latlng);
             car.Anchor(.5f, .5f);
             carMarker = map.AddMarker(car);
             UpdateCarIcon(viewModel.IsRecording);
             return;
         }
         carMarker.Position = latlng;
     });
 }
        void AddEndMarker(LatLng end)
        {
            Activity?.RunOnUiThread(() =>
            {
                var logicalDensity = Resources.DisplayMetrics.Density;
                var thicknessPoints = (int) Math.Ceiling(20*logicalDensity + .5f);
                var b = ContextCompat.GetDrawable(Activity, Resource.Drawable.ic_end_point) as BitmapDrawable;
                var finalIcon = Bitmap.CreateScaledBitmap(b.Bitmap, thicknessPoints, thicknessPoints, false);

                var endMarker = new MarkerOptions();
                endMarker.SetPosition(end);
                endMarker.SetIcon(BitmapDescriptorFactory.FromBitmap(finalIcon));
                endMarker.Anchor(.5f, .5f);

                map.AddMarker(endMarker);
            });
        }