【问题标题】:Flutter GoogleMaps - dynamic colouring of Custom MarkersFlutter GoogleMaps - 自定义标记的动态着色
【发布时间】:2020-07-09 09:13:58
【问题描述】:

Flutter Google Maps 允许在地图上使用标准/默认标记。您还可以通过编程方式将颜色应用于此标记,从而为您的应用添加各种颜色。

但是,我似乎无法使用相同的技术将颜色动态应用于自定义(白色)标记。与其制作 10 个具有不同颜色的自定义标记,我更喜欢使用纯白色的标记,并使用 Hue 或颜色混合对其进行动态着色。

默认标记

    bool bToggle = true; 

    _markers.add(Marker(
        markerId: MarkerId(markerid),
        position: newPos,
        onTap: () {
          ...
        },
        infoWindow: InfoWindow(
          ...
        ),
        icon: BitmapDescriptor.defaultMarkerWithHue(
           (bToggle) ? BitmapDescriptor.hueYellow : BitmapDescriptor.hueRed
        ),        
      ));

自定义标记

    _markers.add(Marker(
        markerId: MarkerId(markerid),
        position: newPos,
        onTap: () {
          ...
        },
        infoWindow: InfoWindow(
          ...
        ),
        icon: BitmapDescriptor.fromAssetImage(ImageConfiguration(devicePixelRatio: 2.5), 'assets/markers/pin-blue.png')
        ),        
      ));

非常感谢

【问题讨论】:

    标签: google-maps flutter dart google-maps-markers


    【解决方案1】:

    标记不将其颜色更改为 BitmapDescriptor 色调的原因是需要重建屏幕以检测 bToggle 上的值变化。你可以在这里做的是在价值变化时致电setState()

    【讨论】:

      猜你喜欢
      • 2022-08-13
      • 2016-08-17
      • 1970-01-01
      • 1970-01-01
      • 2016-10-04
      • 2017-07-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多