diff --git a/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/method_channel/method_channel_google_maps_flutter.dart b/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/method_channel/method_channel_google_maps_flutter.dart index 0ebfad5b5137..8b7af2cc3515 100644 --- a/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/method_channel/method_channel_google_maps_flutter.dart +++ b/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/method_channel/method_channel_google_maps_flutter.dart @@ -193,9 +193,13 @@ class MethodChannelGoogleMapsFlutter extends GoogleMapsFlutterPlatform { final Map tileOverlaysForThisMap = _tileOverlays[mapId]; final String tileOverlayId = call.arguments['tileOverlayId']; - final TileOverlay tileOverlay = tileOverlaysForThisMap[tileOverlayId]; - assert(tileOverlay.tileProvider.getTile != null); - final Tile tile = await tileOverlay.tileProvider.getTile( + final TileOverlay tileOverlay = + tileOverlaysForThisMap[TileOverlayId(tileOverlayId)]; + Tile tile; + if (tileOverlay == null || tileOverlay.tileProvider == null) { + return TileProvider.noTile.toJson(); + } + tile = await tileOverlay.tileProvider.getTile( call.arguments['x'], call.arguments['y'], call.arguments['zoom'], 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 e4b5c0bc3ab2..3e2002f80ae3 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 @@ -29,3 +29,4 @@ export 'utils/circle.dart'; export 'utils/marker.dart'; export 'utils/polygon.dart'; export 'utils/polyline.dart'; +export 'utils/tile_overlay.dart';