У меня проблема, потому что он генерирует графику на компьютере и сохраняет ее во временную папку, а Image.assets (путь) обычно читает ее мне, но mapbox не отображает и не отображает этот значок, и все другие ассеты из папки нормально отображаются, у кого-то есть идеи?
String path = await GenerateSymbol.capturePng(screenshotKey);
m.addSymbol(
SymbolOptions(
geometry: LatLng(
50.17026301,
18.90532861,
),
iconImage: path,
iconSize: 10,
iconAnchor: "bottom",
),
{"id": "test"},
);
Другой класс
class GenerateSymbol {
static Future<String> _saveSymbol(Uint8List image) async {
final directory = await getApplicationDocumentsDirectory();
File _file = File(directory.absolute.path + '/symbol.png')
..writeAsBytesSync(image);
print(_file.path);
return _file.path;
}
static Future<String> capturePng(GlobalKey key) async {
RenderRepaintBoundary boundary = key.currentContext.findRenderObject();
if (boundary.debugNeedsPaint) {
await Future.delayed(const Duration(milliseconds: 20));
return capturePng(key);
}
var image = await boundary.toImage();
var byteData = await image.toByteData(format: ImageByteFormat.png);
var pngBytes = byteData.buffer.asUint8List();
String path = await _saveSymbol(pngBytes);
return path;
}
}