I try to use BitmapDescriptor.fromBytes for google maps marker's icon. The usage is working well on Android, and shows the icon in the maps marker. Here is my code for the logic function :

void convertToImg({BuildContext context,List<DataEvent> data}) async{
 for(int i=0;i<data.length;i++) {
   final http.Response res = await http.get(data[i].category.icon);
   DrawableRoot root = await svg.fromSvgBytes(res.bodyBytes, null);
   ui.Picture picture = root.toPicture(size: Size(16, 16));
   ui.Image image = await picture.toImage(16, 16);
   ByteData byteData = await image.toByteData(format: ui
       .ImageByteFormat.png);
   listImg.add(byteData.buffer.asUint8List());
 }
}

Here is my markers code :

void addMarker({List<DataEvent> data}) {
 markers = Iterable.generate(data.length, (index) {
   return Marker(
     markerId: MarkerId("${data[index].id}"),
     position: LatLng(
       double.parse(data[index].location.split(',')[0]),
       double.parse(data[index].location.split(',')[1])
     ),
     infoWindow: InfoWindow(
       title: data[index].name,
       snippet: data[index].description,
       anchor: Offset(1.5, 1.5)
     ),
     icon: BitmapDescriptor.fromBytes(listImg[index])
   );
 });
}

Anyone know why?

Here is for both result. The icon just like a small white cuttlefish