Flutter谷歌地图允许在地图上使用标准/默认标记。您也可以通过程序将颜色应用于此标记,为您的应用程序添加各种颜色。
然而,我似乎不能使用同样的技术来动态地将颜色应用于自定义(白色(标记。与其制作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')
),
));
非常感谢
标记不将其颜色更改为BitmapDescriptor色调的原因是需要重建屏幕以检测bToggle
上的值更改。您可以在这里调用setState()
来更改值。