createOfflineMapModel static method
Future<MapModel>
createOfflineMapModel({
- String renderthemeFilename = "assets/defaultrender.xml",
- required Datastore datastore,
- ZoomlevelRange zoomlevelRange = const ZoomlevelRange.standard(),
A helper function to create a mapModel from a mapfile. Note that the mapModel must be disposed after use.
Implementation
static Future<MapModel> createOfflineMapModel({
String renderthemeFilename = "assets/defaultrender.xml",
required Datastore datastore,
ZoomlevelRange zoomlevelRange = const ZoomlevelRange.standard(),
}) async {
// Read the rendertheme from the assets folder.
String renderthemeString = await rootBundle.loadString(renderthemeFilename);
Rendertheme rendertheme = RenderThemeBuilder.createFromString(renderthemeString.toString());
// The renderer converts the compressed data from mapfile to images. The rendertheme defines how the data should be rendered (size, colors, etc).
DatastoreRenderer renderer = DatastoreRenderer(datastore, rendertheme);
// Now instantiate our mapModel with the desired parameters. Our map does not support zoomlevel beyond 21 so restrict the zoomlevel range.
MapModel mapModel = MapModel(renderer: renderer, zoomlevelRange: zoomlevelRange);
return mapModel;
}