From 9cb7faf8c7adbc162b7fd043b167ed7dd37fea48 Mon Sep 17 00:00:00 2001 From: Marty Fuhry Date: Wed, 19 Nov 2025 09:31:17 -0500 Subject: [PATCH 01/13] Adds support for color scheme --- .../lib/google_maps_flutter.dart | 1 + .../lib/src/google_map.dart | 5 ++++ .../lib/src/types/map_color_scheme.dart | 2 ++ .../lib/src/types/map_configuration.dart | 9 +++++++ .../lib/src/types/types.dart | 1 + .../lib/src/convert.dart | 26 +++++++++++++++++++ 6 files changed, 44 insertions(+) create mode 100644 packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/map_color_scheme.dart diff --git a/packages/google_maps_flutter/google_maps_flutter/lib/google_maps_flutter.dart b/packages/google_maps_flutter/google_maps_flutter/lib/google_maps_flutter.dart index 7ca650dceb7..fc08344f994 100644 --- a/packages/google_maps_flutter/google_maps_flutter/lib/google_maps_flutter.dart +++ b/packages/google_maps_flutter/google_maps_flutter/lib/google_maps_flutter.dart @@ -29,6 +29,7 @@ export 'package:google_maps_flutter_platform_interface/google_maps_flutter_platf Cluster, ClusterManager, ClusterManagerId, + ColorScheme, GroundOverlay, GroundOverlayId, Heatmap, diff --git a/packages/google_maps_flutter/google_maps_flutter/lib/src/google_map.dart b/packages/google_maps_flutter/google_maps_flutter/lib/src/google_map.dart index 44f6dd5d812..0fa41553951 100644 --- a/packages/google_maps_flutter/google_maps_flutter/lib/src/google_map.dart +++ b/packages/google_maps_flutter/google_maps_flutter/lib/src/google_map.dart @@ -134,6 +134,7 @@ class GoogleMap extends StatefulWidget { this.onTap, this.onLongPress, this.cloudMapId, + this.colorScheme, }); /// Callback method for when the map is ready to be used. @@ -373,6 +374,9 @@ class GoogleMap extends StatefulWidget { /// for more details. final String? cloudMapId; + /// Color scheme for the map + final MapColorScheme? colorScheme; + /// Creates a [State] for this [GoogleMap]. @override State createState() => _GoogleMapState(); @@ -724,6 +728,7 @@ MapConfiguration _configurationFromMapWidget(GoogleMap map) { trafficEnabled: map.trafficEnabled, buildingsEnabled: map.buildingsEnabled, cloudMapId: map.cloudMapId, + colorScheme: map.colorScheme, // A null style in the widget means no style, which is expressed as '' in // the configuration to distinguish from no change (null). style: map.style ?? '', diff --git a/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/map_color_scheme.dart b/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/map_color_scheme.dart new file mode 100644 index 00000000000..93ebd0ed898 --- /dev/null +++ b/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/map_color_scheme.dart @@ -0,0 +1,2 @@ +/// The color scheme of the map to be used with cloud styles +enum MapColorScheme { light, dark, followSystem } diff --git a/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/map_configuration.dart b/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/map_configuration.dart index 235ec580b2e..4629ef2d582 100644 --- a/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/map_configuration.dart +++ b/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/map_configuration.dart @@ -42,6 +42,7 @@ class MapConfiguration { String? cloudMapId, this.style, this.markerType, + this.colorScheme, }) : mapId = mapId ?? cloudMapId; /// This setting controls how the API handles gestures on the map. Web only. @@ -152,6 +153,9 @@ class MapConfiguration { @Deprecated('cloudMapId is deprecated. Use mapId instead.') String? get cloudMapId => mapId; + /// Preferred color scheme for the map in web platform + final MapColorScheme? colorScheme; + /// Returns a new options object containing only the values of this instance /// that are different from [other]. MapConfiguration diffFrom(MapConfiguration other) { @@ -225,6 +229,7 @@ class MapConfiguration { ? buildingsEnabled : null, mapId: mapId != other.mapId ? mapId : null, + colorScheme: colorScheme != other.colorScheme ? colorScheme : null, style: style != other.style ? style : null, markerType: markerType != other.markerType ? markerType : null, ); @@ -264,6 +269,7 @@ class MapConfiguration { buildingsEnabled: diff.buildingsEnabled ?? buildingsEnabled, mapId: diff.mapId ?? mapId, style: diff.style ?? style, + colorScheme: diff.colorScheme ?? colorScheme, markerType: diff.markerType ?? markerType, ); } @@ -293,6 +299,7 @@ class MapConfiguration { trafficEnabled == null && buildingsEnabled == null && mapId == null && + colorScheme == null && style == null && markerType == null; @@ -329,6 +336,7 @@ class MapConfiguration { buildingsEnabled == other.buildingsEnabled && mapId == other.mapId && style == other.style && + colorScheme == other.colorScheme && markerType == other.markerType; } @@ -358,6 +366,7 @@ class MapConfiguration { buildingsEnabled, mapId, style, + colorScheme, markerType, ]); } diff --git a/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/types.dart b/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/types.dart index a2483a24c54..80e38067433 100644 --- a/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/types.dart +++ b/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/types.dart @@ -19,6 +19,7 @@ export 'heatmap.dart'; export 'heatmap_updates.dart'; export 'joint_type.dart'; export 'location.dart'; +export 'map_color_scheme.dart'; export 'map_configuration.dart'; export 'map_objects.dart'; export 'map_widget_configuration.dart'; diff --git a/packages/google_maps_flutter/google_maps_flutter_web/lib/src/convert.dart b/packages/google_maps_flutter/google_maps_flutter_web/lib/src/convert.dart index b647d95a988..6cf74b190b4 100644 --- a/packages/google_maps_flutter/google_maps_flutter_web/lib/src/convert.dart +++ b/packages/google_maps_flutter/google_maps_flutter_web/lib/src/convert.dart @@ -131,9 +131,35 @@ gmaps.MapOptions _configurationAndStyleToGmapsOptions( options.mapId = configuration.mapId; + // Convert the color scheme, if any, and set it + final gmaps.ColorScheme? jsColorScheme = _toJsColorScheme( + configuration.colorScheme, + ); + if (jsColorScheme != null) { + options.colorScheme = jsColorScheme; + } + return options; } +/// Converts a [MapColorScheme] into a [gmaps.ColorScheme] +gmaps.ColorScheme? _toJsColorScheme(MapColorScheme? scheme) { + // Guard clause for null + if (scheme == null) { + return null; + } + + // Map to gmaps.ColorScheme + switch (scheme) { + case MapColorScheme.dark: + return gmaps.ColorScheme.DARK; + case MapColorScheme.light: + return gmaps.ColorScheme.LIGHT; + case MapColorScheme.followSystem: + return gmaps.ColorScheme.FOLLOW_SYSTEM; + } +} + gmaps.MapTypeId _gmapTypeIDForPluginType(MapType type) { switch (type) { case MapType.satellite: From 838a768c8e070f23b099ba227975ad0566d6e707 Mon Sep 17 00:00:00 2001 From: Marty Fuhry Date: Wed, 19 Nov 2025 09:49:10 -0500 Subject: [PATCH 02/13] adds color scheme to exportrs --- .../google_maps_flutter/lib/google_maps_flutter.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google_maps_flutter/google_maps_flutter/lib/google_maps_flutter.dart b/packages/google_maps_flutter/google_maps_flutter/lib/google_maps_flutter.dart index fc08344f994..267b6cb9d77 100644 --- a/packages/google_maps_flutter/google_maps_flutter/lib/google_maps_flutter.dart +++ b/packages/google_maps_flutter/google_maps_flutter/lib/google_maps_flutter.dart @@ -29,7 +29,6 @@ export 'package:google_maps_flutter_platform_interface/google_maps_flutter_platf Cluster, ClusterManager, ClusterManagerId, - ColorScheme, GroundOverlay, GroundOverlayId, Heatmap, @@ -42,6 +41,7 @@ export 'package:google_maps_flutter_platform_interface/google_maps_flutter_platf LatLng, LatLngBounds, MapBitmapScaling, + MapColorScheme, MapStyleException, MapType, Marker, From e8c04e6be1bd5babfc24dc96ef347420fa471d2a Mon Sep 17 00:00:00 2001 From: Marty Fuhry Date: Wed, 19 Nov 2025 10:01:33 -0500 Subject: [PATCH 03/13] Renames to match naming convention --- .../google_maps_flutter_web/lib/src/convert.dart | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/google_maps_flutter/google_maps_flutter_web/lib/src/convert.dart b/packages/google_maps_flutter/google_maps_flutter_web/lib/src/convert.dart index 6cf74b190b4..15830cf7765 100644 --- a/packages/google_maps_flutter/google_maps_flutter_web/lib/src/convert.dart +++ b/packages/google_maps_flutter/google_maps_flutter_web/lib/src/convert.dart @@ -132,7 +132,7 @@ gmaps.MapOptions _configurationAndStyleToGmapsOptions( options.mapId = configuration.mapId; // Convert the color scheme, if any, and set it - final gmaps.ColorScheme? jsColorScheme = _toJsColorScheme( + final gmaps.ColorScheme? jsColorScheme = _gmapTypeColorSchemeForPluginColor( configuration.colorScheme, ); if (jsColorScheme != null) { @@ -143,7 +143,7 @@ gmaps.MapOptions _configurationAndStyleToGmapsOptions( } /// Converts a [MapColorScheme] into a [gmaps.ColorScheme] -gmaps.ColorScheme? _toJsColorScheme(MapColorScheme? scheme) { +gmaps.ColorScheme? _gmapTypeColorSchemeForPluginColor(MapColorScheme? scheme) { // Guard clause for null if (scheme == null) { return null; From 5854d68882c731c1b8a9bedd43858f29d6b00eed Mon Sep 17 00:00:00 2001 From: Marty Fuhry Date: Wed, 19 Nov 2025 11:08:55 -0500 Subject: [PATCH 04/13] Bumps version and updates changelog --- .../google_maps_flutter/google_maps_flutter_web/CHANGELOG.md | 3 ++- .../google_maps_flutter/google_maps_flutter_web/pubspec.yaml | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/google_maps_flutter/google_maps_flutter_web/CHANGELOG.md b/packages/google_maps_flutter/google_maps_flutter_web/CHANGELOG.md index 0cb861a490f..836f8b55cb6 100644 --- a/packages/google_maps_flutter/google_maps_flutter_web/CHANGELOG.md +++ b/packages/google_maps_flutter/google_maps_flutter_web/CHANGELOG.md @@ -1,6 +1,7 @@ -## NEXT +## 0.5.14+4 * Updates minimum supported SDK version to Flutter 3.32/Dart 3.8. +* Adds `colorScheme` support for cloud-based maps styling brightness. ## 0.5.14+3 diff --git a/packages/google_maps_flutter/google_maps_flutter_web/pubspec.yaml b/packages/google_maps_flutter/google_maps_flutter_web/pubspec.yaml index fee2e779f67..679bfcbb56e 100644 --- a/packages/google_maps_flutter/google_maps_flutter_web/pubspec.yaml +++ b/packages/google_maps_flutter/google_maps_flutter_web/pubspec.yaml @@ -2,7 +2,7 @@ name: google_maps_flutter_web description: Web platform implementation of google_maps_flutter repository: https://github.com/flutter/packages/tree/main/packages/google_maps_flutter/google_maps_flutter_web issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+maps%22 -version: 0.5.14+3 +version: 0.5.14+4 environment: sdk: ^3.8.0 From ca8153c97856075fa63df3f84dae1d9086525639 Mon Sep 17 00:00:00 2001 From: Marty Fuhry Date: Thu, 20 Nov 2025 09:28:50 -0500 Subject: [PATCH 05/13] updates the pubspec.yaml files to have path-based dependency overrides --- .../google_maps_flutter_web/example/pubspec.yaml | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/packages/google_maps_flutter/google_maps_flutter_web/example/pubspec.yaml b/packages/google_maps_flutter/google_maps_flutter_web/example/pubspec.yaml index addf03ad32e..8129d334c5e 100644 --- a/packages/google_maps_flutter/google_maps_flutter_web/example/pubspec.yaml +++ b/packages/google_maps_flutter/google_maps_flutter_web/example/pubspec.yaml @@ -28,9 +28,8 @@ flutter: assets: - assets/ +# FOR TESTING AND INITIAL REVIEW ONLY. DO NOT MERGE. +# See https://github.com/flutter/flutter/blob/master/docs/ecosystem/contributing/README.md#changing-federated-plugins dependency_overrides: - # Override the google_maps_flutter dependency on google_maps_flutter_web. - # TODO(ditman): Unwind the circular dependency. This will create problems - # if we need to make a breaking change to google_maps_flutter_web. - google_maps_flutter_web: - path: ../ + google_maps_flutter: {path: ../../../../packages/google_maps_flutter/google_maps_flutter} + google_maps_flutter_web: {path: ../} From c75420c9989417f95841b2af30588b6fe3e52019 Mon Sep 17 00:00:00 2001 From: Marty Fuhry Date: Thu, 20 Nov 2025 09:46:51 -0500 Subject: [PATCH 06/13] Updates pubspec.yaml of other touched plugins --- .../google_maps_flutter/example/pubspec.yaml | 5 +++++ .../google_maps_flutter/google_maps_flutter/pubspec.yaml | 5 +++++ .../google_maps_flutter_android/example/pubspec.yaml | 4 ++++ .../google_maps_flutter_android/pubspec.yaml | 4 ++++ .../google_maps_flutter_ios/example/ios14/pubspec.yaml | 4 ++++ .../google_maps_flutter_ios/example/ios15/pubspec.yaml | 4 ++++ .../example/shared/maps_example_dart/pubspec.yaml | 4 ++++ .../google_maps_flutter/google_maps_flutter_ios/pubspec.yaml | 4 ++++ .../google_maps_flutter_web/example/pubspec.yaml | 1 + .../google_maps_flutter/google_maps_flutter_web/pubspec.yaml | 4 ++++ 10 files changed, 39 insertions(+) diff --git a/packages/google_maps_flutter/google_maps_flutter/example/pubspec.yaml b/packages/google_maps_flutter/google_maps_flutter/example/pubspec.yaml index 0e002e4f535..1e4a18727c4 100644 --- a/packages/google_maps_flutter/google_maps_flutter/example/pubspec.yaml +++ b/packages/google_maps_flutter/google_maps_flutter/example/pubspec.yaml @@ -33,3 +33,8 @@ flutter: uses-material-design: true assets: - assets/ +# FOR TESTING AND INITIAL REVIEW ONLY. DO NOT MERGE. +# See https://github.com/flutter/flutter/blob/master/docs/ecosystem/contributing/README.md#changing-federated-plugins +dependency_overrides: + google_maps_flutter_platform_interface: {path: ../../../../packages/google_maps_flutter/google_maps_flutter_platform_interface} + google_maps_flutter_web: {path: ../../../../packages/google_maps_flutter/google_maps_flutter_web} diff --git a/packages/google_maps_flutter/google_maps_flutter/pubspec.yaml b/packages/google_maps_flutter/google_maps_flutter/pubspec.yaml index 7f16bf9fb63..d8ab919d3a0 100644 --- a/packages/google_maps_flutter/google_maps_flutter/pubspec.yaml +++ b/packages/google_maps_flutter/google_maps_flutter/pubspec.yaml @@ -41,3 +41,8 @@ topics: # The example deliberately includes limited-use secrets. false_secrets: - /example/web/index.html +# FOR TESTING AND INITIAL REVIEW ONLY. DO NOT MERGE. +# See https://github.com/flutter/flutter/blob/master/docs/ecosystem/contributing/README.md#changing-federated-plugins +dependency_overrides: + google_maps_flutter_platform_interface: {path: ../../../packages/google_maps_flutter/google_maps_flutter_platform_interface} + google_maps_flutter_web: {path: ../../../packages/google_maps_flutter/google_maps_flutter_web} diff --git a/packages/google_maps_flutter/google_maps_flutter_android/example/pubspec.yaml b/packages/google_maps_flutter/google_maps_flutter_android/example/pubspec.yaml index e556fa6acf9..4a767a98ded 100644 --- a/packages/google_maps_flutter/google_maps_flutter_android/example/pubspec.yaml +++ b/packages/google_maps_flutter/google_maps_flutter_android/example/pubspec.yaml @@ -33,3 +33,7 @@ flutter: uses-material-design: true assets: - assets/ +# FOR TESTING AND INITIAL REVIEW ONLY. DO NOT MERGE. +# See https://github.com/flutter/flutter/blob/master/docs/ecosystem/contributing/README.md#changing-federated-plugins +dependency_overrides: + google_maps_flutter_platform_interface: {path: ../../../../packages/google_maps_flutter/google_maps_flutter_platform_interface} diff --git a/packages/google_maps_flutter/google_maps_flutter_android/pubspec.yaml b/packages/google_maps_flutter/google_maps_flutter_android/pubspec.yaml index 4c272074a70..9dd46dd0a59 100644 --- a/packages/google_maps_flutter/google_maps_flutter_android/pubspec.yaml +++ b/packages/google_maps_flutter/google_maps_flutter_android/pubspec.yaml @@ -37,3 +37,7 @@ topics: - google-maps - google-maps-flutter - map +# FOR TESTING AND INITIAL REVIEW ONLY. DO NOT MERGE. +# See https://github.com/flutter/flutter/blob/master/docs/ecosystem/contributing/README.md#changing-federated-plugins +dependency_overrides: + google_maps_flutter_platform_interface: {path: ../../../packages/google_maps_flutter/google_maps_flutter_platform_interface} diff --git a/packages/google_maps_flutter/google_maps_flutter_ios/example/ios14/pubspec.yaml b/packages/google_maps_flutter/google_maps_flutter_ios/example/ios14/pubspec.yaml index d4192ad9642..03bd0cf862e 100644 --- a/packages/google_maps_flutter/google_maps_flutter_ios/example/ios14/pubspec.yaml +++ b/packages/google_maps_flutter/google_maps_flutter_ios/example/ios14/pubspec.yaml @@ -32,3 +32,7 @@ flutter: uses-material-design: true assets: - assets/ +# FOR TESTING AND INITIAL REVIEW ONLY. DO NOT MERGE. +# See https://github.com/flutter/flutter/blob/master/docs/ecosystem/contributing/README.md#changing-federated-plugins +dependency_overrides: + google_maps_flutter_platform_interface: {path: ../../../../../packages/google_maps_flutter/google_maps_flutter_platform_interface} diff --git a/packages/google_maps_flutter/google_maps_flutter_ios/example/ios15/pubspec.yaml b/packages/google_maps_flutter/google_maps_flutter_ios/example/ios15/pubspec.yaml index d4192ad9642..03bd0cf862e 100644 --- a/packages/google_maps_flutter/google_maps_flutter_ios/example/ios15/pubspec.yaml +++ b/packages/google_maps_flutter/google_maps_flutter_ios/example/ios15/pubspec.yaml @@ -32,3 +32,7 @@ flutter: uses-material-design: true assets: - assets/ +# FOR TESTING AND INITIAL REVIEW ONLY. DO NOT MERGE. +# See https://github.com/flutter/flutter/blob/master/docs/ecosystem/contributing/README.md#changing-federated-plugins +dependency_overrides: + google_maps_flutter_platform_interface: {path: ../../../../../packages/google_maps_flutter/google_maps_flutter_platform_interface} diff --git a/packages/google_maps_flutter/google_maps_flutter_ios/example/shared/maps_example_dart/pubspec.yaml b/packages/google_maps_flutter/google_maps_flutter_ios/example/shared/maps_example_dart/pubspec.yaml index a0c48d88f36..80d8e58509a 100644 --- a/packages/google_maps_flutter/google_maps_flutter_ios/example/shared/maps_example_dart/pubspec.yaml +++ b/packages/google_maps_flutter/google_maps_flutter_ios/example/shared/maps_example_dart/pubspec.yaml @@ -27,3 +27,7 @@ dev_dependencies: flutter: uses-material-design: true +# FOR TESTING AND INITIAL REVIEW ONLY. DO NOT MERGE. +# See https://github.com/flutter/flutter/blob/master/docs/ecosystem/contributing/README.md#changing-federated-plugins +dependency_overrides: + google_maps_flutter_platform_interface: {path: ../../../../../../packages/google_maps_flutter/google_maps_flutter_platform_interface} diff --git a/packages/google_maps_flutter/google_maps_flutter_ios/pubspec.yaml b/packages/google_maps_flutter/google_maps_flutter_ios/pubspec.yaml index 2dfd81cc2c1..de62dc302a8 100644 --- a/packages/google_maps_flutter/google_maps_flutter_ios/pubspec.yaml +++ b/packages/google_maps_flutter/google_maps_flutter_ios/pubspec.yaml @@ -35,3 +35,7 @@ topics: - google-maps - google-maps-flutter - map +# FOR TESTING AND INITIAL REVIEW ONLY. DO NOT MERGE. +# See https://github.com/flutter/flutter/blob/master/docs/ecosystem/contributing/README.md#changing-federated-plugins +dependency_overrides: + google_maps_flutter_platform_interface: {path: ../../../packages/google_maps_flutter/google_maps_flutter_platform_interface} diff --git a/packages/google_maps_flutter/google_maps_flutter_web/example/pubspec.yaml b/packages/google_maps_flutter/google_maps_flutter_web/example/pubspec.yaml index 8129d334c5e..253b21d7fe3 100644 --- a/packages/google_maps_flutter/google_maps_flutter_web/example/pubspec.yaml +++ b/packages/google_maps_flutter/google_maps_flutter_web/example/pubspec.yaml @@ -32,4 +32,5 @@ flutter: # See https://github.com/flutter/flutter/blob/master/docs/ecosystem/contributing/README.md#changing-federated-plugins dependency_overrides: google_maps_flutter: {path: ../../../../packages/google_maps_flutter/google_maps_flutter} + google_maps_flutter_platform_interface: {path: ../../../../packages/google_maps_flutter/google_maps_flutter_platform_interface} google_maps_flutter_web: {path: ../} diff --git a/packages/google_maps_flutter/google_maps_flutter_web/pubspec.yaml b/packages/google_maps_flutter/google_maps_flutter_web/pubspec.yaml index 679bfcbb56e..47e10c112ba 100644 --- a/packages/google_maps_flutter/google_maps_flutter_web/pubspec.yaml +++ b/packages/google_maps_flutter/google_maps_flutter_web/pubspec.yaml @@ -40,3 +40,7 @@ topics: # The example deliberately includes limited-use secrets. false_secrets: - /example/web/index.html +# FOR TESTING AND INITIAL REVIEW ONLY. DO NOT MERGE. +# See https://github.com/flutter/flutter/blob/master/docs/ecosystem/contributing/README.md#changing-federated-plugins +dependency_overrides: + google_maps_flutter_platform_interface: {path: ../../../packages/google_maps_flutter/google_maps_flutter_platform_interface} From 5d53e4984ab1ddbc4ce7b43d9781e9ff7abc6a95 Mon Sep 17 00:00:00 2001 From: Marty Fuhry Date: Thu, 20 Nov 2025 10:14:39 -0500 Subject: [PATCH 07/13] adds CHANGELOG entries to affected federated packages. Reverts mistaken pubspec bump --- .../google_maps_flutter_android/CHANGELOG.md | 4 ++++ .../google_maps_flutter_platform_interface/CHANGELOG.md | 1 + .../lib/src/types/map_color_scheme.dart | 4 ++++ .../google_maps_flutter/google_maps_flutter_web/CHANGELOG.md | 2 +- .../google_maps_flutter/google_maps_flutter_web/pubspec.yaml | 2 +- 5 files changed, 11 insertions(+), 2 deletions(-) diff --git a/packages/google_maps_flutter/google_maps_flutter_android/CHANGELOG.md b/packages/google_maps_flutter/google_maps_flutter_android/CHANGELOG.md index d7d88983c3e..a0c65959e60 100644 --- a/packages/google_maps_flutter/google_maps_flutter_android/CHANGELOG.md +++ b/packages/google_maps_flutter/google_maps_flutter_android/CHANGELOG.md @@ -1,3 +1,7 @@ +## NEXT + +* Adds support for `colorScheme` for cloud-based maps styling brightness in web. + ## 2.18.5 * Updates to Pigeon 26. diff --git a/packages/google_maps_flutter/google_maps_flutter_platform_interface/CHANGELOG.md b/packages/google_maps_flutter/google_maps_flutter_platform_interface/CHANGELOG.md index 7183bed62b7..fbef7e049c8 100644 --- a/packages/google_maps_flutter/google_maps_flutter_platform_interface/CHANGELOG.md +++ b/packages/google_maps_flutter/google_maps_flutter_platform_interface/CHANGELOG.md @@ -1,6 +1,7 @@ ## NEXT * Updates minimum supported SDK version to Flutter 3.32/Dart 3.8. +* Adds support for `colorScheme` for cloud-based maps styling brightness in web. ## 2.14.0 diff --git a/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/map_color_scheme.dart b/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/map_color_scheme.dart index 93ebd0ed898..2499fd8308a 100644 --- a/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/map_color_scheme.dart +++ b/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/map_color_scheme.dart @@ -1,2 +1,6 @@ +// Copyright 2013 The Flutter Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + /// The color scheme of the map to be used with cloud styles enum MapColorScheme { light, dark, followSystem } diff --git a/packages/google_maps_flutter/google_maps_flutter_web/CHANGELOG.md b/packages/google_maps_flutter/google_maps_flutter_web/CHANGELOG.md index 836f8b55cb6..91b406c8094 100644 --- a/packages/google_maps_flutter/google_maps_flutter_web/CHANGELOG.md +++ b/packages/google_maps_flutter/google_maps_flutter_web/CHANGELOG.md @@ -1,4 +1,4 @@ -## 0.5.14+4 +## NEXT * Updates minimum supported SDK version to Flutter 3.32/Dart 3.8. * Adds `colorScheme` support for cloud-based maps styling brightness. diff --git a/packages/google_maps_flutter/google_maps_flutter_web/pubspec.yaml b/packages/google_maps_flutter/google_maps_flutter_web/pubspec.yaml index 47e10c112ba..4d399c209c8 100644 --- a/packages/google_maps_flutter/google_maps_flutter_web/pubspec.yaml +++ b/packages/google_maps_flutter/google_maps_flutter_web/pubspec.yaml @@ -2,7 +2,7 @@ name: google_maps_flutter_web description: Web platform implementation of google_maps_flutter repository: https://github.com/flutter/packages/tree/main/packages/google_maps_flutter/google_maps_flutter_web issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+maps%22 -version: 0.5.14+4 +version: 0.5.14+3 environment: sdk: ^3.8.0 From 24a65c49178f6fd898e86720a15eb74d178eba9d Mon Sep 17 00:00:00 2001 From: Marty Fuhry Date: Thu, 20 Nov 2025 10:18:26 -0500 Subject: [PATCH 08/13] Sets default color scheme to follow system and adds simple unit tests --- .../lib/src/google_map.dart | 4 +- .../test/google_map_test.dart | 45 +++++++++++++++++++ 2 files changed, 47 insertions(+), 2 deletions(-) diff --git a/packages/google_maps_flutter/google_maps_flutter/lib/src/google_map.dart b/packages/google_maps_flutter/google_maps_flutter/lib/src/google_map.dart index 0fa41553951..778d25f70b2 100644 --- a/packages/google_maps_flutter/google_maps_flutter/lib/src/google_map.dart +++ b/packages/google_maps_flutter/google_maps_flutter/lib/src/google_map.dart @@ -134,7 +134,7 @@ class GoogleMap extends StatefulWidget { this.onTap, this.onLongPress, this.cloudMapId, - this.colorScheme, + this.colorScheme = MapColorScheme.followSystem, }); /// Callback method for when the map is ready to be used. @@ -375,7 +375,7 @@ class GoogleMap extends StatefulWidget { final String? cloudMapId; /// Color scheme for the map - final MapColorScheme? colorScheme; + final MapColorScheme colorScheme; /// Creates a [State] for this [GoogleMap]. @override diff --git a/packages/google_maps_flutter/google_maps_flutter/test/google_map_test.dart b/packages/google_maps_flutter/google_maps_flutter/test/google_map_test.dart index e5a1fca9a30..16850e57efa 100644 --- a/packages/google_maps_flutter/google_maps_flutter/test/google_map_test.dart +++ b/packages/google_maps_flutter/google_maps_flutter/test/google_map_test.dart @@ -659,4 +659,49 @@ void main() { expect(map.tileOverlaySets.length, 1); }); + + testWidgets('Is default color scheme follow system', ( + WidgetTester tester, + ) async { + await tester.pumpWidget( + const Directionality( + textDirection: TextDirection.ltr, + child: GoogleMap( + initialCameraPosition: CameraPosition(target: LatLng(10.0, 15.0)), + ), + ), + ); + + final PlatformMapStateRecorder map = platform.lastCreatedMap; + + expect(map.mapConfiguration.colorScheme, MapColorScheme.followSystem); + }); + + testWidgets('Can update default color scheme', (WidgetTester tester) async { + await tester.pumpWidget( + const Directionality( + textDirection: TextDirection.ltr, + child: GoogleMap( + initialCameraPosition: CameraPosition(target: LatLng(10.0, 15.0)), + colorScheme: MapColorScheme.light, + ), + ), + ); + + final PlatformMapStateRecorder map = platform.lastCreatedMap; + + expect(map.mapConfiguration.colorScheme, MapColorScheme.light); + + await tester.pumpWidget( + const Directionality( + textDirection: TextDirection.ltr, + child: GoogleMap( + initialCameraPosition: CameraPosition(target: LatLng(10.0, 15.0)), + colorScheme: MapColorScheme.dark, + ), + ), + ); + + expect(map.mapConfiguration.colorScheme, MapColorScheme.dark); + }); } From ba0aa0cbdf5f07b756488ba8311d22a848bd27a0 Mon Sep 17 00:00:00 2001 From: Marty Fuhry Date: Thu, 20 Nov 2025 10:25:11 -0500 Subject: [PATCH 09/13] Updates comment --- .../google_maps_flutter/lib/src/google_map.dart | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/google_maps_flutter/google_maps_flutter/lib/src/google_map.dart b/packages/google_maps_flutter/google_maps_flutter/lib/src/google_map.dart index 778d25f70b2..b335aa68a27 100644 --- a/packages/google_maps_flutter/google_maps_flutter/lib/src/google_map.dart +++ b/packages/google_maps_flutter/google_maps_flutter/lib/src/google_map.dart @@ -374,7 +374,10 @@ class GoogleMap extends StatefulWidget { /// for more details. final String? cloudMapId; - /// Color scheme for the map + /// Color scheme for the cloud-style map. Web only. + /// + /// See https://developers.google.com/maps/documentation/javascript/mapcolorscheme + /// for more details. final MapColorScheme colorScheme; /// Creates a [State] for this [GoogleMap]. From 47ff9356ba3b39ec4024f086a7f9e6210588f83a Mon Sep 17 00:00:00 2001 From: Marty Fuhry Date: Thu, 20 Nov 2025 12:51:19 -0500 Subject: [PATCH 10/13] Fixes unit test and adds comments to clarify setting color scheme at map initialization. Adds comments to MapColorScheme enum. --- .../google_maps_flutter/lib/src/google_map.dart | 2 ++ .../google_maps_flutter/test/google_map_test.dart | 14 +------------- .../lib/src/types/map_color_scheme.dart | 11 ++++++++++- 3 files changed, 13 insertions(+), 14 deletions(-) diff --git a/packages/google_maps_flutter/google_maps_flutter/lib/src/google_map.dart b/packages/google_maps_flutter/google_maps_flutter/lib/src/google_map.dart index b335aa68a27..b926a1841ec 100644 --- a/packages/google_maps_flutter/google_maps_flutter/lib/src/google_map.dart +++ b/packages/google_maps_flutter/google_maps_flutter/lib/src/google_map.dart @@ -375,6 +375,8 @@ class GoogleMap extends StatefulWidget { final String? cloudMapId; /// Color scheme for the cloud-style map. Web only. + /// The colorScheme option can only be set when the map is initialized; + /// setting this option after the map is created will have no effect. /// /// See https://developers.google.com/maps/documentation/javascript/mapcolorscheme /// for more details. diff --git a/packages/google_maps_flutter/google_maps_flutter/test/google_map_test.dart b/packages/google_maps_flutter/google_maps_flutter/test/google_map_test.dart index 16850e57efa..da1ebcbe586 100644 --- a/packages/google_maps_flutter/google_maps_flutter/test/google_map_test.dart +++ b/packages/google_maps_flutter/google_maps_flutter/test/google_map_test.dart @@ -677,7 +677,7 @@ void main() { expect(map.mapConfiguration.colorScheme, MapColorScheme.followSystem); }); - testWidgets('Can update default color scheme', (WidgetTester tester) async { + testWidgets('Can set color scheme to non-default', (WidgetTester tester) async { await tester.pumpWidget( const Directionality( textDirection: TextDirection.ltr, @@ -691,17 +691,5 @@ void main() { final PlatformMapStateRecorder map = platform.lastCreatedMap; expect(map.mapConfiguration.colorScheme, MapColorScheme.light); - - await tester.pumpWidget( - const Directionality( - textDirection: TextDirection.ltr, - child: GoogleMap( - initialCameraPosition: CameraPosition(target: LatLng(10.0, 15.0)), - colorScheme: MapColorScheme.dark, - ), - ), - ); - - expect(map.mapConfiguration.colorScheme, MapColorScheme.dark); }); } diff --git a/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/map_color_scheme.dart b/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/map_color_scheme.dart index 2499fd8308a..3af7b9db290 100644 --- a/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/map_color_scheme.dart +++ b/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/map_color_scheme.dart @@ -3,4 +3,13 @@ // found in the LICENSE file. /// The color scheme of the map to be used with cloud styles -enum MapColorScheme { light, dark, followSystem } +enum MapColorScheme { + /// The light color scheme for the map + light, + + /// The dark color scheme for the map + dark, + + /// The system default color scheme for the map + followSystem, +} From d5130468a0befb812a6d9b72e5c15fb54b7ed0cf Mon Sep 17 00:00:00 2001 From: Marty Fuhry Date: Thu, 20 Nov 2025 13:38:24 -0500 Subject: [PATCH 11/13] format tests --- .../google_maps_flutter/test/google_map_test.dart | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/google_maps_flutter/google_maps_flutter/test/google_map_test.dart b/packages/google_maps_flutter/google_maps_flutter/test/google_map_test.dart index da1ebcbe586..2b0f254efe5 100644 --- a/packages/google_maps_flutter/google_maps_flutter/test/google_map_test.dart +++ b/packages/google_maps_flutter/google_maps_flutter/test/google_map_test.dart @@ -677,7 +677,9 @@ void main() { expect(map.mapConfiguration.colorScheme, MapColorScheme.followSystem); }); - testWidgets('Can set color scheme to non-default', (WidgetTester tester) async { + testWidgets('Can set color scheme to non-default', ( + WidgetTester tester, + ) async { await tester.pumpWidget( const Directionality( textDirection: TextDirection.ltr, From 5a03b720152313716b586676fe61c275deaeb917 Mon Sep 17 00:00:00 2001 From: Marty Fuhry Date: Thu, 20 Nov 2025 13:49:22 -0500 Subject: [PATCH 12/13] Ran the update-release-info tool to fix changelogs --- packages/google_maps_flutter/google_maps_flutter/CHANGELOG.md | 3 ++- packages/google_maps_flutter/google_maps_flutter/pubspec.yaml | 2 +- .../google_maps_flutter_android/CHANGELOG.md | 2 +- .../google_maps_flutter_android/pubspec.yaml | 2 +- .../google_maps_flutter/google_maps_flutter_ios/CHANGELOG.md | 4 ++++ .../google_maps_flutter/google_maps_flutter_ios/pubspec.yaml | 2 +- .../google_maps_flutter_platform_interface/CHANGELOG.md | 2 +- .../google_maps_flutter_platform_interface/pubspec.yaml | 2 +- .../google_maps_flutter/google_maps_flutter_web/CHANGELOG.md | 4 ++-- .../google_maps_flutter/google_maps_flutter_web/pubspec.yaml | 2 +- 10 files changed, 15 insertions(+), 10 deletions(-) diff --git a/packages/google_maps_flutter/google_maps_flutter/CHANGELOG.md b/packages/google_maps_flutter/google_maps_flutter/CHANGELOG.md index 64bc5dc7a8b..d623b27f3b1 100644 --- a/packages/google_maps_flutter/google_maps_flutter/CHANGELOG.md +++ b/packages/google_maps_flutter/google_maps_flutter/CHANGELOG.md @@ -1,5 +1,6 @@ -## NEXT +## 2.14.1 +* Adds `colorScheme` support for web cloud-based maps styling brightness. * Updates minimum supported SDK version to Flutter 3.32/Dart 3.8. ## 2.14.0 diff --git a/packages/google_maps_flutter/google_maps_flutter/pubspec.yaml b/packages/google_maps_flutter/google_maps_flutter/pubspec.yaml index d8ab919d3a0..59ce0e35ff6 100644 --- a/packages/google_maps_flutter/google_maps_flutter/pubspec.yaml +++ b/packages/google_maps_flutter/google_maps_flutter/pubspec.yaml @@ -2,7 +2,7 @@ name: google_maps_flutter description: A Flutter plugin for integrating Google Maps in iOS and Android applications. repository: https://github.com/flutter/packages/tree/main/packages/google_maps_flutter/google_maps_flutter issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+maps%22 -version: 2.14.0 +version: 2.14.1 environment: sdk: ^3.8.0 diff --git a/packages/google_maps_flutter/google_maps_flutter_android/CHANGELOG.md b/packages/google_maps_flutter/google_maps_flutter_android/CHANGELOG.md index a0c65959e60..0dfa8641f33 100644 --- a/packages/google_maps_flutter/google_maps_flutter_android/CHANGELOG.md +++ b/packages/google_maps_flutter/google_maps_flutter_android/CHANGELOG.md @@ -1,4 +1,4 @@ -## NEXT +## 2.18.6 * Adds support for `colorScheme` for cloud-based maps styling brightness in web. diff --git a/packages/google_maps_flutter/google_maps_flutter_android/pubspec.yaml b/packages/google_maps_flutter/google_maps_flutter_android/pubspec.yaml index 9dd46dd0a59..88075287489 100644 --- a/packages/google_maps_flutter/google_maps_flutter_android/pubspec.yaml +++ b/packages/google_maps_flutter/google_maps_flutter_android/pubspec.yaml @@ -2,7 +2,7 @@ name: google_maps_flutter_android description: Android implementation of the google_maps_flutter plugin. repository: https://github.com/flutter/packages/tree/main/packages/google_maps_flutter/google_maps_flutter_android issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+maps%22 -version: 2.18.5 +version: 2.18.6 environment: sdk: ^3.9.0 diff --git a/packages/google_maps_flutter/google_maps_flutter_ios/CHANGELOG.md b/packages/google_maps_flutter/google_maps_flutter_ios/CHANGELOG.md index 2cfb1ae67ba..63551f88453 100644 --- a/packages/google_maps_flutter/google_maps_flutter_ios/CHANGELOG.md +++ b/packages/google_maps_flutter/google_maps_flutter_ios/CHANGELOG.md @@ -1,3 +1,7 @@ +## 2.15.8 + +* Adds `colorScheme` support for web cloud-based maps styling brightness. + ## 2.15.7 * Updates to Pigeon 26. diff --git a/packages/google_maps_flutter/google_maps_flutter_ios/pubspec.yaml b/packages/google_maps_flutter/google_maps_flutter_ios/pubspec.yaml index de62dc302a8..6bce6f51d2d 100644 --- a/packages/google_maps_flutter/google_maps_flutter_ios/pubspec.yaml +++ b/packages/google_maps_flutter/google_maps_flutter_ios/pubspec.yaml @@ -2,7 +2,7 @@ name: google_maps_flutter_ios description: iOS implementation of the google_maps_flutter plugin. repository: https://github.com/flutter/packages/tree/main/packages/google_maps_flutter/google_maps_flutter_ios issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+maps%22 -version: 2.15.7 +version: 2.15.8 environment: sdk: ^3.8.0 diff --git a/packages/google_maps_flutter/google_maps_flutter_platform_interface/CHANGELOG.md b/packages/google_maps_flutter/google_maps_flutter_platform_interface/CHANGELOG.md index fbef7e049c8..c29b41b82cd 100644 --- a/packages/google_maps_flutter/google_maps_flutter_platform_interface/CHANGELOG.md +++ b/packages/google_maps_flutter/google_maps_flutter_platform_interface/CHANGELOG.md @@ -1,4 +1,4 @@ -## NEXT +## 2.14.1 * Updates minimum supported SDK version to Flutter 3.32/Dart 3.8. * Adds support for `colorScheme` for cloud-based maps styling brightness in web. diff --git a/packages/google_maps_flutter/google_maps_flutter_platform_interface/pubspec.yaml b/packages/google_maps_flutter/google_maps_flutter_platform_interface/pubspec.yaml index 9f98762bd09..9aa5ed82840 100644 --- a/packages/google_maps_flutter/google_maps_flutter_platform_interface/pubspec.yaml +++ b/packages/google_maps_flutter/google_maps_flutter_platform_interface/pubspec.yaml @@ -4,7 +4,7 @@ repository: https://github.com/flutter/packages/tree/main/packages/google_maps_f issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+maps%22 # NOTE: We strongly prefer non-breaking changes, even at the expense of a # less-clean API. See https://flutter.dev/go/platform-interface-breaking-changes -version: 2.14.0 +version: 2.14.1 environment: sdk: ^3.8.0 diff --git a/packages/google_maps_flutter/google_maps_flutter_web/CHANGELOG.md b/packages/google_maps_flutter/google_maps_flutter_web/CHANGELOG.md index 91b406c8094..c9c6ed5a9ba 100644 --- a/packages/google_maps_flutter/google_maps_flutter_web/CHANGELOG.md +++ b/packages/google_maps_flutter/google_maps_flutter_web/CHANGELOG.md @@ -1,7 +1,7 @@ -## NEXT +## 0.5.14+4 +* Adds `colorScheme` support for web cloud-based maps styling brightness. * Updates minimum supported SDK version to Flutter 3.32/Dart 3.8. -* Adds `colorScheme` support for cloud-based maps styling brightness. ## 0.5.14+3 diff --git a/packages/google_maps_flutter/google_maps_flutter_web/pubspec.yaml b/packages/google_maps_flutter/google_maps_flutter_web/pubspec.yaml index 4d399c209c8..47e10c112ba 100644 --- a/packages/google_maps_flutter/google_maps_flutter_web/pubspec.yaml +++ b/packages/google_maps_flutter/google_maps_flutter_web/pubspec.yaml @@ -2,7 +2,7 @@ name: google_maps_flutter_web description: Web platform implementation of google_maps_flutter repository: https://github.com/flutter/packages/tree/main/packages/google_maps_flutter/google_maps_flutter_web issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+maps%22 -version: 0.5.14+3 +version: 0.5.14+4 environment: sdk: ^3.8.0 From 12e3ed634414a1b6210f76a24778deb1f083d7c5 Mon Sep 17 00:00:00 2001 From: Marty Fuhry Date: Thu, 20 Nov 2025 16:32:21 -0500 Subject: [PATCH 13/13] fixes version change and changelog for platform interface --- .../google_maps_flutter_platform_interface/CHANGELOG.md | 5 ++++- .../google_maps_flutter_platform_interface/pubspec.yaml | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/packages/google_maps_flutter/google_maps_flutter_platform_interface/CHANGELOG.md b/packages/google_maps_flutter/google_maps_flutter_platform_interface/CHANGELOG.md index 7b92092c332..859514aa445 100644 --- a/packages/google_maps_flutter/google_maps_flutter_platform_interface/CHANGELOG.md +++ b/packages/google_maps_flutter/google_maps_flutter_platform_interface/CHANGELOG.md @@ -1,8 +1,11 @@ +## 2.14.2 + +* Adds support for `colorScheme` for cloud-based maps styling brightness in web. + ## 2.14.1 * Replaces internal use of deprecated methods. * Updates minimum supported SDK version to Flutter 3.32/Dart 3.8. -* Adds support for `colorScheme` for cloud-based maps styling brightness in web. ## 2.14.0 diff --git a/packages/google_maps_flutter/google_maps_flutter_platform_interface/pubspec.yaml b/packages/google_maps_flutter/google_maps_flutter_platform_interface/pubspec.yaml index 9aa5ed82840..5e6d7aaba8a 100644 --- a/packages/google_maps_flutter/google_maps_flutter_platform_interface/pubspec.yaml +++ b/packages/google_maps_flutter/google_maps_flutter_platform_interface/pubspec.yaml @@ -4,7 +4,7 @@ repository: https://github.com/flutter/packages/tree/main/packages/google_maps_f issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+maps%22 # NOTE: We strongly prefer non-breaking changes, even at the expense of a # less-clean API. See https://flutter.dev/go/platform-interface-breaking-changes -version: 2.14.1 +version: 2.14.2 environment: sdk: ^3.8.0