Repository: flutter
Issue: [google_maps_flutter] markers are misplaced when using two maps in application
Labels: platform-android,p: maps,package,has reproducible steps,P2,found in release: 2.2,team-android,triaged-android

I'm using an IndexedStack with two map pages.
On load, the markers are misplaced on the first map and/or on the second map.
When I pan the map, markers go to the right place. 

**my environement:**

Doctor summary (to see all details, run flutter doctor -v):
[√] Flutter (Channel stable, 2.2.1, on Microsoft Windows [version 10.0.19041.1052], locale fr-FR)
[√] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
[√] Chrome - develop for the web
[√] Android Studio (version 4.1.0)
[√] Connected device (3 available)

**pubspec.yaml:**
 environment:
  sdk: ">=2.12.0 <3.0.0"

dependencies:
  flutter:
    sdk: flutter
  google_maps_flutter: ^2.0.6

**Minimal code to reproduce the issue:**
main.dart:
```
import 'package:flutter/material.dart';
import 'map_page.dart';

void main() {
  runApp(
    MaterialApp(
      title: 'Misplaced markers',
      home: MyHomePage(),
    ),
  );
}

class MyHomePage extends StatefulWidget {
  MyHomePage({Key? key}) : super(key: key);

  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  int _selectedPage = 0;

  List<Widget> _pageList = [
    MapPage(numPage: 1),
    MapPage(numPage: 2),
  ];

  List<BottomNavigationBarItem> _navigationBarItems = [
    BottomNavigationBarItem(
      icon: Icon(Icons.map),
      label: 'Map 1',
    ),
    BottomNavigationBarItem(
      icon: Icon(Icons.map_outlined),
      label: 'Map 2',
    ),
  ];

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: IndexedStack(
        children: _pageList,
        index: _selectedPage,
      ),
      bottomNavigationBar: BottomNavigationBar(
        items: _navigationBarItems,
        currentIndex: _selectedPage,
        onTap: (index) => setState(() {
          _selectedPage = index;
        }),
      ),
    );
  }
}
```
map_page.dart
```
import 'package:flutter/material.dart';
import 'package:google_maps_flutter/google_maps_flutter.dart';

class MapPage extends StatelessWidget {
  final int numPage;

  MapPage({Key? key, required this.numPage}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    Set<Marker> _markers = generateMarkers();
    return Scaffold(
      appBar: AppBar(
        title: Text('Map $numPage'),
      ),
      body: GoogleMap(
        initialCameraPosition: CameraPosition(
          target: LatLng(
            45,
            numPage.toDouble(),
          ),
          zoom: 5,
        ),
        markers: _markers,
      ),
    );
  }

  Set<Marker> generateMarkers() {
    Set<Marker> _markers = {};
    const int nb = 9;
    for (int i = 0; i < nb; i++) {
      for (int j = 0; j < nb; j++) {
        int mkNum = (i * nb) + j;
        final marker = Marker(
          markerId: MarkerId('$numPage-$mkNum'),
          position: LatLng(43 + i.toDouble(), -2 + j.toDouble()),
        );
        _markers.add(marker);
      }
    }
    return _markers;
  }
}
```