diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml
index c6189d907..28fa877f6 100644
--- a/android/app/src/main/AndroidManifest.xml
+++ b/android/app/src/main/AndroidManifest.xml
@@ -241,5 +241,9 @@ This change eventually prevents building the app with Flutter v3.0.2.
+
+
diff --git a/plugins/aves_services_google/lib/aves_services_platform.dart b/plugins/aves_services_google/lib/aves_services_platform.dart
index ff24f4e04..8e11799c6 100644
--- a/plugins/aves_services_google/lib/aves_services_platform.dart
+++ b/plugins/aves_services_google/lib/aves_services_platform.dart
@@ -6,7 +6,8 @@ import 'package:aves_services_platform/src/map.dart';
import 'package:device_info_plus/device_info_plus.dart';
import 'package:flutter/widgets.dart';
import 'package:google_api_availability/google_api_availability.dart';
-import 'package:latlong2/latlong.dart';
+import 'package:google_maps_flutter/google_maps_flutter.dart';
+import 'package:latlong2/latlong.dart' as ll;
class PlatformMobileServices extends MobileServices {
bool _isAvailable = false;
@@ -24,6 +25,17 @@ class PlatformMobileServices extends MobileServices {
// as of google_maps_flutter v2.1.5, Flutter v3.0.1 makes the map hide overlay widgets on API <=22
final androidInfo = await DeviceInfoPlugin().androidInfo;
_canRenderMaps = (androidInfo.version.sdkInt ?? 0) >= 21;
+ if (_canRenderMaps) {
+ // as of google_maps_flutter_android v2.2.0,
+ // setting `useAndroidViewSurface` to true:
+ // + issue #241 exists but workaround is efficient
+ // + pan perf is OK when overlay is disabled
+ // - pan perf is bad when overlay is enabled
+ // setting `useAndroidViewSurface` to false:
+ // - issue #241 exists and workaround is inefficient
+ // + pan perf is OK when overlay is disabled or enabled
+ AndroidGoogleMapsFlutter.useAndroidViewSurface = false;
+ }
}
@override
@@ -52,7 +64,7 @@ class PlatformMobileServices extends MobileServices {
required MarkerClusterBuilder markerClusterBuilder,
required MarkerWidgetBuilder markerWidgetBuilder,
required MarkerImageReadyChecker markerImageReadyChecker,
- required ValueNotifier? dotLocationNotifier,
+ required ValueNotifier? dotLocationNotifier,
required ValueNotifier? overlayOpacityNotifier,
required MapOverlay? overlayEntry,
required UserZoomChangeCallback? onUserZoomChange,