Flutter:不推荐使用BitmapDescriptor.fromAsset

问题描述 投票:0回答:1

我是Flutter的新手,我的应用程序中有这段代码,可以完美地用数千个项目填充标记列表,其中每个项目都是本地存储为png文件的4个可用图标之一。

        for (var bla in jData) {
          LatLng _markerPos =
            LatLng(
              double.parse(bla['lat']),
              double.parse(bla['lng'])
            );
          String _iconImage = 'assets/images/' + bla['q'].toString() + '.png';
          markers.add(Marker(
            position: _markerPos,
            markerId: MarkerId(bla['hash']),
            icon: BitmapDescriptor.fromAsset(_iconImage)
          ));
        }

但是现在不推荐使用[[fromAsset方法,并且分配BitmapDescriptor的新方法似乎是通过Future函数抛出的错误*(对于我来说,这听起来很麻烦,因为有些事情可以解决)很容易用旧方法)。

所以有人可以通过新方法

fromAssetImage

帮助我实现这一目标吗?在for循环内分配Future似乎很奇怪,但是我是一个菜鸟。

这是我用新方法得到的错误*

:无法将参数类型'Future'分配给参数类型'BitmapDescriptor'。 (位于[flutter_app] lib / lash.dart:81的argument_type_not_assignable)
flutter dart google-maps-markers deprecated google-maps-flutter
1个回答
0
投票
[是,fromAsset方法是获取Bitmap对象的同步调用,但是现在它已被fromAssetImage异步方法代替,我想这是由于响应性和与性能相关的问题。

虽然看起来对您来说是个新话题,但是使代码段与asynchronous programming一起使用应该很容易,您只需将循环标记为async,然后将await标记为[C0 ]对象返回,然后再在标记中使用它。尽管我没有尝试过,但类似的东西应该可以工作。

fromAssetImage

© www.soinside.com 2019 - 2024. All rights reserved.