Repository: flutter
Issue: [Google_maps_flutter]: Use GoogleMap inside Draggable with childWhenDragging refreshes GoogleMap widget and can't drag properly.
Labels: p: maps,package,team-ecosystem,has reproducible steps,P2,found in release: 2.10,found in release: 2.11,triaged-ecosystem

google_maps_flutter: ^2.1.2

## Steps to Reproduce

1. Execute `flutter run` on the code sample
2. Drag `GoogleMap` Widget

**Expected results:** 
- `childWhenDragging` widget should get displayed 
- `GoogleMap` widget should be the feedback widget on Drag

**Actual results:** 
- `GoogleMap` widget refreshes
- Drag ends immediately

<details>
<summary>Code sample</summary>

```dart
import 'package:flutter/material.dart';
import 'package:google_maps_flutter/google_maps_flutter.dart';

class MapTest extends StatelessWidget {
  final Widget map = GoogleMap(
    initialCameraPosition: CameraPosition(
      target: LatLng(0, 0),
    ),
  );

  @override
  Widget build(BuildContext context) {
    return Material(
      child: Center(
        child: Draggable<int>(
          feedback: SizedBox(
            width: 100,
            height: 100,
            child: map,
          ),
          childWhenDragging: SizedBox(),
          child: Container(
            child: map,
            height: 100,
            width: 100,
          ),
        ),
      ),
    );
  }
}
```

</details>

<details>
  <summary>Logs</summary>

```
[✓] Flutter (Channel stable, 2.10.3, on macOS 11.6.1 20G224 darwin-arm, locale de-DE)
    • Flutter version 2.10.3 at /Users/me/documents/development/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 7e9793dee1 (2 days ago), 2022-03-02 11:23:12 -0600
    • Engine revision bd539267b4
    • Dart version 2.16.1
    • DevTools version 2.9.2

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/me/Library/Android/sdk
    • Platform android-31, build-tools 31.0.0
    • Java binary at: /Users/me/Downloads/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7249189)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 13.2.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • CocoaPods version 1.11.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2020.3)
    • Android Studio at /Users/me/Downloads/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7249189)

[✓] VS Code (version 1.64.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.36.0

[✓] Connected device (2 available)
    • iPhone (mobile) • ios            • iOS 15.3.1 19D52
    • Chrome (web)                • chrome                    • web-javascript • Google Chrome 98.0.4758.109

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!
```

</details>

**Workaround:**
- use same Widget in on `childWhenDragging`
    - width has to be not null
    - parent and child have to be exactly the same

```dart
childWhenDragging: Container(
    child: map,
    width: 0,
,
child: Container(
    child: map,
    height: 100,
    width: 100,
),
```



https://user-images.githubusercontent.com/49169635/156781128-3f64a353-c20d-41a5-bd82-1009d421e0a2.MOV