createNoDataBitmap method
Creates a tile bitmap to indicate that no map data is available for this tile.
Implementation
Future<TilePicture> createNoDataBitmap() async {
if (_noData != null) return _noData!.clone();
double tileSize = MapsforgeSettingsMgr().tileSize;
var pictureRecorder = ui.PictureRecorder();
var canvas = ui.Canvas(pictureRecorder);
var paint = ui.Paint();
paint.strokeWidth = 1;
paint.color = const ui.Color(0xffaaaaaa);
paint.isAntiAlias = true;
canvas.drawLine(ui.Offset(_margin, _margin), ui.Offset(tileSize - _margin, _margin), paint);
canvas.drawLine(ui.Offset(_margin, _margin), ui.Offset(_margin, tileSize - _margin), paint);
canvas.drawLine(ui.Offset(tileSize - _margin, _margin), ui.Offset(tileSize - _margin, tileSize - _margin), paint);
canvas.drawLine(ui.Offset(_margin, tileSize - _margin), ui.Offset(tileSize - _margin, tileSize - _margin), paint);
ui.ParagraphBuilder builder = ui.ParagraphBuilder(ui.ParagraphStyle(fontSize: 14.0, textAlign: ui.TextAlign.center))
..pushStyle(ui.TextStyle(color: Colors.red))
..addText("No data available");
canvas.drawParagraph(builder.build()..layout(ui.ParagraphConstraints(width: tileSize.toDouble())), ui.Offset(0, tileSize / 2));
var pic = pictureRecorder.endRecording();
// ui.Image img = await pic.toImage(tileSize.toInt(), tileSize.toInt());
_noData = TilePicture.fromPicture(pic);
return _noData!;
}