🌊
【2024最新】google_maps_flutterで画像からピンを作成する
はじめに
google_maps_flutterパッケージの2.7.0から画像からピンを作成する方法が変更されましたので、ご紹介したいと思います。
Adds support for BitmapDescriptor classes AssetMapBitmap and BytesMapBitmap.
Updates minimum supported SDK version to Flutter 3.22/Dart 3.4.
以前まで
めちゃめちゃ冗長でした。。。
final pin = BitmapDescriptor.bytes(
await getBytesFromAsset(Assets.images.pin.path, 30));
Future<Uint8List> getBytesFromAsset(String path, int width) async {
ByteData data = await rootBundle.load(path);
ui.Codec codec = await ui.instantiateImageCodec(data.buffer.asUint8List(),
targetWidth: width);
ui.FrameInfo fi = await codec.getNextFrame();
final image = await fi.image.toByteData(format: ui.ImageByteFormat.png);
return image!.buffer.asUint8List();
}
変更後
以前より簡素に!
ImageConfigurationクラスでもろもろの設定ができます。便利ですね。
final pin = await BitmapDescriptor.asset(
const ImageConfiguration(size: Size(25, 30)),Assets.images.pin.path);
Discussion