Repository: flutter
Issue: [google_maps_flutter] Marker is rendering incorrectly with AndroidMapRenderer.latest
Labels: platform-android,a: animation,p: maps,package,c: rendering,has reproducible steps,P2,found in release: 3.10,found in release: 3.12,team-android,triaged-android

### Is there an existing issue for this?

- [X] I have searched the [existing issues](https://github.com/flutter/flutter/issues)
- [X] I have read the [guide to filing a bug](https://flutter.dev/docs/resources/bug-reports)

### Steps to reproduce

Animating a marker movement results to it not being painted to the correct location in some frames.
Only happens in Android - ios works fine
It only happens with the latest renderer. ( add this line in MainActivity.java -> 
MapsInitializer.initialize(getContext(), MapsInitializer.Renderer.LATEST, renderer -> {});
)

google_maps_flutter: 2.3.0

### Expected results

smooth movement of the marker

### Actual results

marker is painted incorectly in some frames

### Code sample

<details><summary>Code sample</summary>

```dart
import 'dart:async';
import 'dart:math';
import 'dart:ui';

import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:google_maps_flutter/google_maps_flutter.dart';

class TestScreen extends StatefulWidget {
  const TestScreen({Key? key}) : super(key: key);

  @override
  _TestScreenState createState() => _TestScreenState();
}

class _TestScreenState extends State<TestScreen> with TickerProviderStateMixin {
  LatLng _center = LatLng(37.42796133580664, -122.085749655962);
  Set<Marker> _markers = {};
  late Marker _marker;
  AnimationController? _animationController;
  Animation<double>? _animation;

  @override
  void initState() {
    super.initState();
    _init();
  }

  void _init() async {
    var bytes = await getBytesFromAsset('assets/images/pin_featured.png', 3, 40);
    _marker = Marker(markerId: MarkerId('2'), position: _center, icon: BitmapDescriptor.fromBytes(bytes!));
    if (mounted) {
      setState(() {
        _markers = {_marker};
      });
    }
    Timer.periodic(
      Duration(milliseconds: 5000),
      (timer) {
        double fromLat = _marker.position.latitude;
        double fromLng = _marker.position.longitude;
        double toLat = fromLat + 0.01;
        double toLng = fromLng + 0.01;

        _animationController = AnimationController(duration: Duration(milliseconds: 5000), vsync: this);

        Tween<double> tween = Tween(begin: 0, end: 1);
        _animation = tween.animate(_animationController!)
          ..addListener(() async {
            if (mounted) {
              var v = _animation!.value;
              LatLng newPos = LatLng(
                v * toLat + (1 - v) * fromLat,
                v * toLng + (1 - v) * fromLng,
              );

              v = min(1, 3 * v);

              setState(() {
                _markers = {Marker(markerId: MarkerId('2'), position: newPos, icon: BitmapDescriptor.fromBytes(bytes!))};
              });
            }
          });
        _animationController?.stop();
        unawaited(_animationController!.forward());
      },
    );
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(),
      body: Column(
        children: [
          Expanded(
            child: GoogleMap(
              initialCameraPosition: CameraPosition(
                target: _center,
                zoom: 14.4746,
              ),
              markers: _markers,
            ),
          ),
        ],
      ),
    );
  }

  Future<Uint8List?> getBytesFromAsset(String path, double devicePixelRatio, int width) async {
    ByteData data = await rootBundle.load(path);
    Codec codec = await instantiateImageCodec(data.buffer.asUint8List(), targetWidth: (devicePixelRatio * width).round());
    FrameInfo fi = await codec.getNextFrame();
    return (await fi.image.toByteData(format: ImageByteFormat.png))?.buffer.asUint8List();
  }
}

```

</details>


### Screenshots or Video

<details>
<summary>Screenshots / Video demonstration</summary>

https://github.com/flutter/flutter/assets/100851392/edb9b231-5e23-4d71-808c-0ba10ddf9a73

</details>


### Logs

<details><summary>Logs</summary>

```console
[Paste your logs here]
```

</details>


### Flutter Doctor output

<details><summary>Doctor output</summary>

```console
Flutter (Channel stable, 3.10.3, on macOS 13.1 22C65 darwin-arm64, locale en-GR)
    • Flutter version 3.10.3 on channel stable at /Users/nikostsesmelis/Tools/flutter/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision f92f44110e (6 days ago), 2023-06-01 18:17:33 -0500
    • Engine revision 2a3401c9bb
    • Dart version 3.0.3
    • DevTools version 2.23.1

```

</details>