Значок символа картографического окна Flutter от пути - PullRequest
0 голосов
/ 09 июля 2020

У меня проблема, потому что он генерирует графику на компьютере и сохраняет ее во временную папку, а 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;
 }
}
...