Skip to content

Commit 4f94ee2

Browse files
[google_maps_flutter] Add missing exports (#11196)
This adds exports that should have been in #7882, but I missed in review. Like much of the `google_maps_flutter` APIs currently, advanced markers rely on clients using types that are defined in the platform interface package. This re-exports them, and fixes the examples to not import the platform interface. Ideally we would have more separation between the API layers, but this is deeply ingrained in the API design of the plugin at this point, so changing it would require a comprehensive overhaul. ## Pre-Review Checklist [^1]: Regular contributors who have demonstrated familiarity with the repository guidelines only need to comment if the PR is not auto-exempted by repo tooling.
1 parent 6aec00b commit 4f94ee2

File tree

8 files changed

+89
-9
lines changed

8 files changed

+89
-9
lines changed

packages/google_maps_flutter/google_maps_flutter/CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
## 2.17.0
2+
3+
* Adds missing re-exports of classes related to advanced markers.
4+
15
## 2.16.0
26

37
* Adds `colorScheme` support for web cloud-based maps styling brightness.

packages/google_maps_flutter/google_maps_flutter/example/lib/advanced_marker_icons.dart

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44

55
import 'package:flutter/material.dart';
66
import 'package:google_maps_flutter/google_maps_flutter.dart';
7-
import 'package:google_maps_flutter_platform_interface/google_maps_flutter_platform_interface.dart';
87

98
import 'page.dart';
109
import 'place_advanced_marker.dart';

packages/google_maps_flutter/google_maps_flutter/example/lib/advanced_markers_clustering.dart

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ import 'dart:math';
66

77
import 'package:flutter/material.dart';
88
import 'package:google_maps_flutter/google_maps_flutter.dart';
9-
import 'package:google_maps_flutter_platform_interface/google_maps_flutter_platform_interface.dart';
109

1110
import 'clustering.dart';
1211
import 'page.dart';

packages/google_maps_flutter/google_maps_flutter/example/lib/collision_behavior.dart

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ import 'dart:math';
66

77
import 'package:flutter/material.dart';
88
import 'package:google_maps_flutter/google_maps_flutter.dart';
9-
import 'package:google_maps_flutter_platform_interface/google_maps_flutter_platform_interface.dart';
109

1110
import 'page.dart';
1211
import 'place_advanced_marker.dart';

packages/google_maps_flutter/google_maps_flutter/lib/google_maps_flutter.dart

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,17 +14,21 @@ import 'package:google_maps_flutter_platform_interface/google_maps_flutter_platf
1414

1515
export 'package:google_maps_flutter_platform_interface/google_maps_flutter_platform_interface.dart'
1616
show
17+
AdvancedMarker,
18+
AdvancedMarkerGlyph,
1719
ArgumentCallback,
1820
ArgumentCallbacks,
1921
AssetMapBitmap,
2022
BitmapDescriptor,
23+
BitmapGlyph,
2124
BytesMapBitmap,
2225
CameraPosition,
2326
CameraPositionCallback,
2427
CameraTargetBounds,
2528
CameraUpdate,
2629
Cap,
2730
Circle,
31+
CircleGlyph,
2832
CircleId,
2933
Cluster,
3034
ClusterManager,
@@ -45,14 +49,17 @@ export 'package:google_maps_flutter_platform_interface/google_maps_flutter_platf
4549
MapStyleException,
4650
MapType,
4751
Marker,
52+
MarkerCollisionBehavior,
4853
MarkerId,
4954
MinMaxZoomPreference,
5055
PatternItem,
56+
PinConfig,
5157
Polygon,
5258
PolygonId,
5359
Polyline,
5460
PolylineId,
5561
ScreenCoordinate,
62+
TextGlyph,
5663
Tile,
5764
TileOverlay,
5865
TileOverlayId,

packages/google_maps_flutter/google_maps_flutter/lib/src/google_map.dart

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -402,11 +402,12 @@ class GoogleMap extends StatefulWidget {
402402
///
403403
/// [AdvancedMarker] and [Marker]s classes might not be related to each other
404404
/// in the platform implementation. It's important to set the correct
405-
/// [MarkerType] so that the platform implementation can handle the markers:
406-
/// * If [MarkerType.advancedMarker] is used, all markers must be of type
407-
/// [AdvancedMarker].
408-
/// * If [MarkerType.marker] is used, markers cannot be of type
409-
/// [AdvancedMarker].
405+
/// [GoogleMapMarkerType] so that the platform implementation can handle the
406+
/// markers:
407+
/// * If [GoogleMapMarkerType.advancedMarker] is used, all markers must be of
408+
/// type [AdvancedMarker].
409+
/// * If [GoogleMapMarkerType.marker] is used, markers cannot be of type
410+
/// [AdvancedMarker].
410411
///
411412
/// While some features work with either type, using the incorrect type
412413
/// may result in unexpected behavior.

packages/google_maps_flutter/google_maps_flutter/pubspec.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ name: google_maps_flutter
22
description: A Flutter plugin for integrating Google Maps in iOS and Android applications.
33
repository: https://github.com/flutter/packages/tree/main/packages/google_maps_flutter/google_maps_flutter
44
issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+maps%22
5-
version: 2.16.0
5+
version: 2.17.0
66

77
environment:
88
sdk: ^3.10.0
Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
// Copyright 2013 The Flutter Authors
2+
// Use of this source code is governed by a BSD-style license that can be
3+
// found in the LICENSE file.
4+
5+
// ignore_for_file: unnecessary_statements
6+
7+
import 'package:flutter_test/flutter_test.dart';
8+
import 'package:google_maps_flutter/google_maps_flutter.dart' as main_file;
9+
10+
void main() {
11+
group('google_maps_flutter exports', () {
12+
test(
13+
'ensure google_maps_flutter.dart exports classes from platform interface',
14+
() {
15+
main_file.AdvancedMarker;
16+
main_file.AdvancedMarkerGlyph;
17+
main_file.ArgumentCallback;
18+
main_file.ArgumentCallbacks;
19+
main_file.AssetMapBitmap;
20+
main_file.BitmapDescriptor;
21+
main_file.BitmapGlyph;
22+
main_file.BytesMapBitmap;
23+
main_file.CameraPosition;
24+
main_file.CameraPositionCallback;
25+
main_file.CameraTargetBounds;
26+
main_file.CameraUpdate;
27+
main_file.Cap;
28+
main_file.Circle;
29+
main_file.CircleGlyph;
30+
main_file.CircleId;
31+
main_file.Cluster;
32+
main_file.ClusterManager;
33+
main_file.ClusterManagerId;
34+
main_file.GroundOverlay;
35+
main_file.GroundOverlayId;
36+
main_file.Heatmap;
37+
main_file.HeatmapGradient;
38+
main_file.HeatmapGradientColor;
39+
main_file.HeatmapId;
40+
main_file.HeatmapRadius;
41+
main_file.InfoWindow;
42+
main_file.JointType;
43+
main_file.LatLng;
44+
main_file.LatLngBounds;
45+
main_file.MapBitmapScaling;
46+
main_file.MapColorScheme;
47+
main_file.MapStyleException;
48+
main_file.MapType;
49+
main_file.Marker;
50+
main_file.MarkerCollisionBehavior;
51+
main_file.MarkerId;
52+
main_file.MinMaxZoomPreference;
53+
main_file.PatternItem;
54+
main_file.PinConfig;
55+
main_file.Polygon;
56+
main_file.PolygonId;
57+
main_file.Polyline;
58+
main_file.PolylineId;
59+
main_file.ScreenCoordinate;
60+
main_file.TextGlyph;
61+
main_file.Tile;
62+
main_file.TileOverlay;
63+
main_file.TileOverlayId;
64+
main_file.TileProvider;
65+
main_file.WebCameraControlPosition;
66+
main_file.WebGestureHandling;
67+
main_file.WeightedLatLng;
68+
},
69+
);
70+
});
71+
}

0 commit comments

Comments
 (0)