Skip to content

Commit 44358bd

Browse files
committed
[google_maps_flutter_platform_interface] Pipe image size through mipmaps = false case
This is needed to support marker anchors since the Flutter API uses unit coordinates but the JS API uses pixels and the plugin doesn't otherwise need to decode the image so the size isn't otherwise available for the conversion.
1 parent 943378f commit 44358bd

File tree

1 file changed

+15
-11
lines changed
  • packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types

1 file changed

+15
-11
lines changed

packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/bitmap.dart

+15-11
Original file line numberDiff line numberDiff line change
@@ -131,22 +131,26 @@ class BitmapDescriptor {
131131
bool mipmaps = true,
132132
}) async {
133133
final double? devicePixelRatio = configuration.devicePixelRatio;
134+
final String asset;
135+
final double scale;
136+
134137
if (!mipmaps && devicePixelRatio != null) {
135-
return BitmapDescriptor._(<Object>[
136-
_fromAssetImage,
137-
assetName,
138-
devicePixelRatio,
139-
]);
138+
asset = assetName;
139+
scale = devicePixelRatio;
140+
} else {
141+
final AssetImage assetImage =
142+
AssetImage(assetName, package: package, bundle: bundle);
143+
final AssetBundleImageKey assetBundleImageKey =
144+
await assetImage.obtainKey(configuration);
145+
asset = assetBundleImageKey.name;
146+
scale = assetBundleImageKey.scale;
140147
}
141-
final AssetImage assetImage =
142-
AssetImage(assetName, package: package, bundle: bundle);
143-
final AssetBundleImageKey assetBundleImageKey =
144-
await assetImage.obtainKey(configuration);
148+
145149
final Size? size = configuration.size;
146150
return BitmapDescriptor._(<Object>[
147151
_fromAssetImage,
148-
assetBundleImageKey.name,
149-
assetBundleImageKey.scale,
152+
asset,
153+
scale,
150154
if (kIsWeb && size != null)
151155
<Object>[
152156
size.width,

0 commit comments

Comments
 (0)