diff --git a/wien_talks/wien_talks_flutter/assets/render_themes/defaultrender.xml b/wien_talks/wien_talks_flutter/assets/render_themes/defaultrender.xml
new file mode 100644
index 0000000..a82424f
--- /dev/null
+++ b/wien_talks/wien_talks_flutter/assets/render_themes/defaultrender.xml
@@ -0,0 +1,1507 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/wien_talks/wien_talks_flutter/lib/create_event_screen.dart b/wien_talks/wien_talks_flutter/lib/create_event_screen.dart
index bc50467..58f2947 100644
--- a/wien_talks/wien_talks_flutter/lib/create_event_screen.dart
+++ b/wien_talks/wien_talks_flutter/lib/create_event_screen.dart
@@ -1,8 +1,12 @@
import 'package:flutter/cupertino.dart';
+import 'package:location/location.dart';
import 'package:wien_talks_flutter/get_location_widget.dart';
+import 'package:wien_talks_flutter/mapfile_widget.dart';
import 'package:wien_talks_flutter/news_input_form.dart';
import 'package:wien_talks_flutter/widgets/screen_widget.dart';
+import 'location_mgr.dart';
+
class CreateEventScreen extends StatelessWidget {
const CreateEventScreen({super.key});
@@ -11,9 +15,13 @@ class CreateEventScreen extends StatelessWidget {
return ScreenWidget(
child: Column(
children: [
- Text("hello"),
- GetLocationWidget(),
NewsInputForm(onSubmit: (newsEventModel) {}),
+ StreamBuilder(stream: LocationMgr().stream, builder: (BuildContext context, AsyncSnapshot snapshot) => Text(snapshot.data.toString())),
+ Expanded(
+ child: GetLocationWidget(
+ child: MapfileWidget(),
+ ),
+ ),
],
));
}
diff --git a/wien_talks/wien_talks_flutter/lib/get_location_widget.dart b/wien_talks/wien_talks_flutter/lib/get_location_widget.dart
index 4fad495..3c190e2 100644
--- a/wien_talks/wien_talks_flutter/lib/get_location_widget.dart
+++ b/wien_talks/wien_talks_flutter/lib/get_location_widget.dart
@@ -1,38 +1,42 @@
import 'package:flutter/material.dart';
-import 'package:location/location.dart';
import 'package:wien_talks_flutter/location_mgr.dart';
-class GetLocationWidget extends StatelessWidget {
- const GetLocationWidget({super.key});
+class GetLocationWidget extends StatefulWidget {
+ final Widget child;
+
+ const GetLocationWidget({super.key, required this.child});
+
+ @override
+ State createState() => _GetLocationWidgetState();
+}
+
+class _GetLocationWidgetState extends State {
+ @override
+ void dispose() {
+ LocationMgr().shutdown();
+ super.dispose();
+ }
@override
Widget build(BuildContext context) {
- return Column(
- children: [
- FutureBuilder(
- future: LocationMgr().startup(),
- builder: (BuildContext context, AsyncSnapshot snapshot) {
- switch (snapshot.connectionState) {
- case ConnectionState.waiting:
- return CircularProgressIndicator();
- case ConnectionState.done:
- {
- if (snapshot.hasData) {
- // Error occured
- return Text(snapshot.data.toString());
- } else {
- return Text("No data -> OK");
- }
- }
- default:
- if (snapshot.hasError) {
- return Text('Error: ${snapshot.error}');
- }
- return Text("OK");
+ return FutureBuilder(
+ future: LocationMgr().startup(),
+ builder: (BuildContext context, AsyncSnapshot snapshot) {
+ switch (snapshot.connectionState) {
+ case ConnectionState.none:
+ case ConnectionState.waiting:
+ return CircularProgressIndicator();
+ case ConnectionState.active:
+ case ConnectionState.done:
+ {
+ if (snapshot.hasData) {
+ // Error occured
+ return Text(snapshot.data.toString(), style: TextStyle(color: Colors.red));
+ } else {
+ return widget.child;
+ }
}
- }),
- StreamBuilder(stream: LocationMgr().stream, builder: (BuildContext context, AsyncSnapshot snapshot) => Text(snapshot.data.toString())),
- ],
- );
+ }
+ });
}
}
diff --git a/wien_talks/wien_talks_flutter/lib/location_mgr.dart b/wien_talks/wien_talks_flutter/lib/location_mgr.dart
index 1ab24b9..c43dab0 100644
--- a/wien_talks/wien_talks_flutter/lib/location_mgr.dart
+++ b/wien_talks/wien_talks_flutter/lib/location_mgr.dart
@@ -1,10 +1,14 @@
import 'dart:async';
+import 'package:flutter/material.dart';
import 'package:location/location.dart';
+import 'package:mapsforge_flutter/core.dart';
+import 'package:mapsforge_flutter/maps.dart';
+import 'package:mapsforge_flutter/marker.dart';
import 'package:rxdart/rxdart.dart';
class LocationMgr {
- Location location = Location();
+ final Location location = Location();
bool serviceEnabled = false;
@@ -16,14 +20,35 @@ class LocationMgr {
final Subject _subject = PublishSubject();
+ final TileBitmapCache bitmapCache = MemoryTileBitmapCache.create();
+
StreamSubscription? _subscription;
+ ViewModel? viewModel;
+
+ late MapModel mapModel;
+
+ IconMarker? iconMarker;
+
+ final DisplayModel displayModel = DisplayModel(maxZoomLevel: 20);
+
+ final SymbolCache symbolCache = FileSymbolCache();
+
+ final JobRenderer jobRenderer = MapOnlineRenderer();
+
factory LocationMgr() {
_instance ??= LocationMgr._();
return _instance!;
}
- LocationMgr._();
+ LocationMgr._() {
+ mapModel = MapModel(
+ displayModel: displayModel,
+ renderer: jobRenderer,
+ symbolCache: symbolCache,
+ tileBitmapCache: bitmapCache,
+ );
+ }
Future startup() async {
serviceEnabled = await location.serviceEnabled();
@@ -41,8 +66,21 @@ class LocationMgr {
return "No permissions granted";
}
}
+ viewModel = ViewModel(displayModel: displayModel);
_subscription = location.onLocationChanged.listen((LocationData currentLocation) {
_lastLocationData = currentLocation;
+ if (currentLocation.latitude != null && currentLocation.longitude != null) {
+ viewModel?.setMapViewPosition(currentLocation.latitude!, currentLocation.longitude!);
+ if (iconMarker == null) {
+ iconMarker ??= IconMarker(
+ fontSize: 30,
+ icon: Icons.gps_fixed,
+ color: Colors.red,
+ center: LatLong(currentLocation.latitude!, currentLocation.longitude!),
+ displayModel: displayModel);
+ mapModel.markerDataStores.add(MarkerDataStore()..addMarker(iconMarker!));
+ }
+ }
_subject.add(currentLocation);
});
return null;
@@ -51,6 +89,10 @@ class LocationMgr {
void shutdown() {
_subscription?.cancel();
_subscription = null;
+ mapModel.markerDataStores.clear();
+ iconMarker = null;
+ viewModel?.dispose();
+ viewModel = null;
}
Stream get stream => _subject.stream;
diff --git a/wien_talks/wien_talks_flutter/lib/mapfile_widget.dart b/wien_talks/wien_talks_flutter/lib/mapfile_widget.dart
new file mode 100644
index 0000000..8134338
--- /dev/null
+++ b/wien_talks/wien_talks_flutter/lib/mapfile_widget.dart
@@ -0,0 +1,26 @@
+import 'package:flutter/cupertino.dart';
+import 'package:mapsforge_flutter/core.dart';
+import 'package:wien_talks_flutter/location_mgr.dart';
+
+class MapfileWidget extends StatefulWidget {
+ const MapfileWidget({super.key});
+
+ @override
+ State createState() => _MapfileWidgetState();
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+class _MapfileWidgetState extends State {
+ @override
+ Widget build(BuildContext context) {
+ return MapviewWidget(
+ displayModel: LocationMgr().displayModel,
+ createMapModel: () async {
+ return LocationMgr().mapModel;
+ },
+ createViewModel: () async {
+ return LocationMgr().viewModel!;
+ });
+ }
+}
diff --git a/wien_talks/wien_talks_flutter/macos/Flutter/GeneratedPluginRegistrant.swift b/wien_talks/wien_talks_flutter/macos/Flutter/GeneratedPluginRegistrant.swift
index 407ec0f..09409a5 100644
--- a/wien_talks/wien_talks_flutter/macos/Flutter/GeneratedPluginRegistrant.swift
+++ b/wien_talks/wien_talks_flutter/macos/Flutter/GeneratedPluginRegistrant.swift
@@ -10,8 +10,11 @@ import file_picker
import file_selector_macos
import location
import path_provider_foundation
+<<<<<<< Updated upstream
import shared_preferences_foundation
import sqflite_darwin
+=======
+>>>>>>> Stashed changes
func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) {
ConnectivityPlusPlugin.register(with: registry.registrar(forPlugin: "ConnectivityPlusPlugin"))
@@ -19,6 +22,9 @@ func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) {
FileSelectorPlugin.register(with: registry.registrar(forPlugin: "FileSelectorPlugin"))
LocationPlugin.register(with: registry.registrar(forPlugin: "LocationPlugin"))
PathProviderPlugin.register(with: registry.registrar(forPlugin: "PathProviderPlugin"))
+<<<<<<< Updated upstream
SharedPreferencesPlugin.register(with: registry.registrar(forPlugin: "SharedPreferencesPlugin"))
SqflitePlugin.register(with: registry.registrar(forPlugin: "SqflitePlugin"))
+=======
+>>>>>>> Stashed changes
}
diff --git a/wien_talks/wien_talks_flutter/pubspec.yaml b/wien_talks/wien_talks_flutter/pubspec.yaml
index 80b3751..d32cc2e 100644
--- a/wien_talks/wien_talks_flutter/pubspec.yaml
+++ b/wien_talks/wien_talks_flutter/pubspec.yaml
@@ -29,6 +29,8 @@ dependencies:
location: ^8.0.1
+ mapsforge_flutter: ^3.0.2
+
rxdart: ^0.28.0
serverpod_flutter: 2.9.1
@@ -59,32 +61,176 @@ flutter:
uses-material-design: true
# To add assets to your application, add an assets section, like this:
- # assets:
- # - images/a_dot_burr.jpeg
- # - images/a_dot_ham.jpeg
+ assets:
+ - assets/render_themes/
+ - packages/mapsforge_flutter/assets/patterns/dark_farmland.svg
+ - packages/mapsforge_flutter/assets/patterns/dark_military.png
+ - packages/mapsforge_flutter/assets/patterns/coniferous.svg
+ - packages/mapsforge_flutter/assets/patterns/coniferous_and_deciduous.svg
+ - packages/mapsforge_flutter/assets/patterns/deciduous.svg
+ - packages/mapsforge_flutter/assets/patterns/farmland.svg
+ - packages/mapsforge_flutter/assets/patterns/grass.svg
+ - packages/mapsforge_flutter/assets/patterns/hills.svg
+ - packages/mapsforge_flutter/assets/patterns/quarry.svg
+ - packages/mapsforge_flutter/assets/patterns/scrub.svg
+ - packages/mapsforge_flutter/assets/patterns/swamp.svg
+ - packages/mapsforge_flutter/assets/patterns/access-destination.png
+ - packages/mapsforge_flutter/assets/patterns/access-private.png
+ - packages/mapsforge_flutter/assets/patterns/arrow.png
+ - packages/mapsforge_flutter/assets/patterns/cemetery.png
+ - packages/mapsforge_flutter/assets/patterns/deciduous.svg
+ - packages/mapsforge_flutter/assets/patterns/dot.png
+ - packages/mapsforge_flutter/assets/patterns/farmland.svg
+ - packages/mapsforge_flutter/assets/patterns/grass.svg
+ - packages/mapsforge_flutter/assets/patterns/hills.svg
+ - packages/mapsforge_flutter/assets/patterns/marsh.png
+ - packages/mapsforge_flutter/assets/patterns/military.png
+ - packages/mapsforge_flutter/assets/patterns/nature-reserve.png
+ - packages/mapsforge_flutter/assets/patterns/pike.png
+ - packages/mapsforge_flutter/assets/patterns/quarry.svg
+ - packages/mapsforge_flutter/assets/patterns/rail.png
+ - packages/mapsforge_flutter/assets/patterns/scrub.svg
+ - packages/mapsforge_flutter/assets/patterns/swamp.svg
+ - packages/mapsforge_flutter/assets/patterns/wood-coniferous.png
+ - packages/mapsforge_flutter/assets/patterns/wood-deciduous.png
+ - packages/mapsforge_flutter/assets/patterns/wood-mixed.png
+ - packages/mapsforge_flutter/assets/symbols/bench.svg
+ - packages/mapsforge_flutter/assets/symbols/cable_car.svg
+ - packages/mapsforge_flutter/assets/symbols/chair_lift.svg
+ - packages/mapsforge_flutter/assets/symbols/dot_black.svg
+ - packages/mapsforge_flutter/assets/symbols/dot_blue.svg
+ - packages/mapsforge_flutter/assets/symbols/dot_blue_dark.svg
+ - packages/mapsforge_flutter/assets/symbols/dot_magenta.svg
+ - packages/mapsforge_flutter/assets/symbols/dot_white.svg
+ - packages/mapsforge_flutter/assets/symbols/gondola.svg
+ - packages/mapsforge_flutter/assets/symbols/oneway.svg
+ - packages/mapsforge_flutter/assets/symbols/peak.svg
+ - packages/mapsforge_flutter/assets/symbols/railway-crossing-small.svg
+ - packages/mapsforge_flutter/assets/symbols/railway-crossing.svg
+ - packages/mapsforge_flutter/assets/symbols/traffic_signal.svg
+ - packages/mapsforge_flutter/assets/symbols/volcano.svg
+ - packages/mapsforge_flutter/assets/symbols/accommodation/alpinehut.svg
+ - packages/mapsforge_flutter/assets/symbols/accommodation/camping.svg
+ - packages/mapsforge_flutter/assets/symbols/accommodation/caravan_park.svg
+ - packages/mapsforge_flutter/assets/symbols/accommodation/chalet.svg
+ - packages/mapsforge_flutter/assets/symbols/accommodation/hostel.svg
+ - packages/mapsforge_flutter/assets/symbols/accommodation/hotel2.svg
+ - packages/mapsforge_flutter/assets/symbols/accommodation/shelter2.svg
+ - packages/mapsforge_flutter/assets/symbols/amenity/firestation3.svg
+ - packages/mapsforge_flutter/assets/symbols/amenity/fountain2.svg
+ - packages/mapsforge_flutter/assets/symbols/amenity/library.svg
+ - packages/mapsforge_flutter/assets/symbols/amenity/playground.svg
+ - packages/mapsforge_flutter/assets/symbols/amenity/police2.svg
+ - packages/mapsforge_flutter/assets/symbols/amenity/post_box.svg
+ - packages/mapsforge_flutter/assets/symbols/amenity/post_office.svg
+ - packages/mapsforge_flutter/assets/symbols/amenity/recycling.svg
+ - packages/mapsforge_flutter/assets/symbols/amenity/telephone.svg
+ - packages/mapsforge_flutter/assets/symbols/amenity/toilets.svg
+ - packages/mapsforge_flutter/assets/symbols/barrier/blocks.svg
+ - packages/mapsforge_flutter/assets/symbols/barrier/bollard.svg
+ - packages/mapsforge_flutter/assets/symbols/barrier/cycle_barrier.svg
+ - packages/mapsforge_flutter/assets/symbols/barrier/gate.svg
+ - packages/mapsforge_flutter/assets/symbols/barrier/lift_gate.svg
+ - packages/mapsforge_flutter/assets/symbols/barrier/stile.svg
+ - packages/mapsforge_flutter/assets/symbols/custom/amenity/fountain2.svg
+ - packages/mapsforge_flutter/assets/symbols/custom/amenity/library.svg
+ - packages/mapsforge_flutter/assets/symbols/custom/amenity/toilets.svg
+ - packages/mapsforge_flutter/assets/symbols/custom/money/atm2.svg
+ - packages/mapsforge_flutter/assets/symbols/custom/tourist/archaeological2.svg
+ - packages/mapsforge_flutter/assets/symbols/custom/tourist/attraction.svg
+ - packages/mapsforge_flutter/assets/symbols/custom/tourist/castle2.svg
+ - packages/mapsforge_flutter/assets/symbols/custom/tourist/cinema2.svg
+ - packages/mapsforge_flutter/assets/symbols/custom/tourist/information.svg
+ - packages/mapsforge_flutter/assets/symbols/custom/tourist/memorial.svg
+ - packages/mapsforge_flutter/assets/symbols/custom/tourist/monument.svg
+ - packages/mapsforge_flutter/assets/symbols/custom/tourist/museum.svg
+ - packages/mapsforge_flutter/assets/symbols/custom/tourist/ruin.svg
+ - packages/mapsforge_flutter/assets/symbols/custom/tourist/theatre.svg
+ - packages/mapsforge_flutter/assets/symbols/custom/tourist/view_point.svg
+ - packages/mapsforge_flutter/assets/symbols/custom/tourist/windmill.svg
+ - packages/mapsforge_flutter/assets/symbols/custom/tourist/zoo.svg
+ - packages/mapsforge_flutter/assets/symbols/education/nursery3.svg
+ - packages/mapsforge_flutter/assets/symbols/education/school.svg
+ - packages/mapsforge_flutter/assets/symbols/education/university.svg
+ - packages/mapsforge_flutter/assets/symbols/food/bar.svg
+ - packages/mapsforge_flutter/assets/symbols/food/biergarten.svg
+ - packages/mapsforge_flutter/assets/symbols/food/cafe.svg
+ - packages/mapsforge_flutter/assets/symbols/food/drinkingtap.svg
+ - packages/mapsforge_flutter/assets/symbols/food/fastfood.svg
+ - packages/mapsforge_flutter/assets/symbols/food/pub.svg
+ - packages/mapsforge_flutter/assets/symbols/food/restaurant.svg
+ - packages/mapsforge_flutter/assets/symbols/health/doctors2.svg
+ - packages/mapsforge_flutter/assets/symbols/health/hospital.svg
+ - packages/mapsforge_flutter/assets/symbols/health/pharmacy.svg
+ - packages/mapsforge_flutter/assets/symbols/money/atm2.svg
+ - packages/mapsforge_flutter/assets/symbols/money/bank2.svg
+ - packages/mapsforge_flutter/assets/symbols/place_of_worship/buddhist.svg
+ - packages/mapsforge_flutter/assets/symbols/place_of_worship/christian.svg
+ - packages/mapsforge_flutter/assets/symbols/place_of_worship/hindu.svg
+ - packages/mapsforge_flutter/assets/symbols/place_of_worship/islamic.svg
+ - packages/mapsforge_flutter/assets/symbols/place_of_worship/jewish.svg
+ - packages/mapsforge_flutter/assets/symbols/place_of_worship/shinto.svg
+ - packages/mapsforge_flutter/assets/symbols/place_of_worship/unknown.svg
+ - packages/mapsforge_flutter/assets/symbols/poi/cave.svg
+ - packages/mapsforge_flutter/assets/symbols/poi/embassy2.svg
+ - packages/mapsforge_flutter/assets/symbols/poi/mountain_pass.svg
+ - packages/mapsforge_flutter/assets/symbols/shopping/alcohol.svg
+ - packages/mapsforge_flutter/assets/symbols/shopping/bakery.svg
+ - packages/mapsforge_flutter/assets/symbols/shopping/bicycle.svg
+ - packages/mapsforge_flutter/assets/symbols/shopping/book.svg
+ - packages/mapsforge_flutter/assets/symbols/shopping/butcher.svg
+ - packages/mapsforge_flutter/assets/symbols/shopping/car_repair.svg
+ - packages/mapsforge_flutter/assets/symbols/shopping/convenience.svg
+ - packages/mapsforge_flutter/assets/symbols/shopping/diy.svg
+ - packages/mapsforge_flutter/assets/symbols/shopping/greengrocer.svg
+ - packages/mapsforge_flutter/assets/symbols/shopping/laundrette.svg
+ - packages/mapsforge_flutter/assets/symbols/shopping/marketplace.svg
+ - packages/mapsforge_flutter/assets/symbols/shopping/supermarket.svg
+ - packages/mapsforge_flutter/assets/symbols/sport/golf.svg
+ - packages/mapsforge_flutter/assets/symbols/sport/shooting.svg
+ - packages/mapsforge_flutter/assets/symbols/sport/soccer.svg
+ - packages/mapsforge_flutter/assets/symbols/sport/stadium.svg
+ - packages/mapsforge_flutter/assets/symbols/sport/swimming_outdoor.svg
+ - packages/mapsforge_flutter/assets/symbols/sport/tennis.svg
+ - packages/mapsforge_flutter/assets/symbols/tourist/archaeological2.svg
+ - packages/mapsforge_flutter/assets/symbols/tourist/attraction.svg
+ - packages/mapsforge_flutter/assets/symbols/tourist/castle2.svg
+ - packages/mapsforge_flutter/assets/symbols/tourist/cinema2.svg
+ - packages/mapsforge_flutter/assets/symbols/tourist/information.svg
+ - packages/mapsforge_flutter/assets/symbols/tourist/memorial.svg
+ - packages/mapsforge_flutter/assets/symbols/tourist/monument.svg
+ - packages/mapsforge_flutter/assets/symbols/tourist/museum.svg
+ - packages/mapsforge_flutter/assets/symbols/tourist/picnic.svg
+ - packages/mapsforge_flutter/assets/symbols/tourist/ruin.svg
+ - packages/mapsforge_flutter/assets/symbols/tourist/theatre.svg
+ - packages/mapsforge_flutter/assets/symbols/tourist/view_point.svg
+ - packages/mapsforge_flutter/assets/symbols/tourist/windmill.svg
+ - packages/mapsforge_flutter/assets/symbols/tourist/zoo.svg
+ - packages/mapsforge_flutter/assets/symbols/transport/airport2.svg
+ - packages/mapsforge_flutter/assets/symbols/transport/bus_station.svg
+ - packages/mapsforge_flutter/assets/symbols/transport/bus_stop.svg
+ - packages/mapsforge_flutter/assets/symbols/transport/fuel.svg
+ - packages/mapsforge_flutter/assets/symbols/transport/helicopter.svg
+ - packages/mapsforge_flutter/assets/symbols/transport/lighthouse.svg
+ - packages/mapsforge_flutter/assets/symbols/transport/parking.svg
+ - packages/mapsforge_flutter/assets/symbols/transport/parking_private.svg
+ - packages/mapsforge_flutter/assets/symbols/transport/rental_bicycle.svg
+ - packages/mapsforge_flutter/assets/symbols/transport/slipway.svg
+ - packages/mapsforge_flutter/assets/symbols/transport/traffic_lights.svg
+ - packages/mapsforge_flutter/assets/symbols/transport/train_station2.svg
+ - packages/mapsforge_flutter/assets/symbols/transport/tram_stop.svg
+ - packages/mapsforge_flutter/assets/symbols/water/weir.svg
+ - packages/mapsforge_flutter/assets/symbols/windsock.svg
+ - packages/mapsforge_flutter/assets/symbols/viewpoint.svg
- # An image asset can refer to one or more resolution-specific "variants", see
- # https://flutter.dev/assets-and-images/#resolution-aware.
-
- # For details regarding adding assets from package dependencies, see
- # https://flutter.dev/assets-and-images/#from-packages
-
- # To add custom fonts to your application, add a fonts section here,
- # in this "flutter" section. Each entry in this list should have a
- # "family" key with the font family name, and a "fonts" key with a
- # list giving the asset and other descriptors for the font. For
- # example:
- # fonts:
- # - family: Schyler
- # fonts:
- # - asset: fonts/Schyler-Regular.ttf
- # - asset: fonts/Schyler-Italic.ttf
- # style: italic
- # - family: Trajan Pro
- # fonts:
- # - asset: fonts/TrajanPro.ttf
- # - asset: fonts/TrajanPro_Bold.ttf
- # weight: 700
- #
- # For details regarding fonts from package dependencies,
- # see https://flutter.dev/custom-fonts/#from-packages
+ fonts:
+ - family: serif
+ fonts:
+ - asset: packages/mapsforge_flutter/assets/fonts/FreeSerif.otf
+ - asset: packages/mapsforge_flutter/assets/fonts/FreeSerifBold.otf
+ weight: 700
+ - asset: packages/mapsforge_flutter/assets/fonts/FreeSerifBoldItalic.otf
+ style: italic
+ weight: 700
+ - asset: packages/mapsforge_flutter/assets/fonts/FreeSerifItalic.otf
+ style: italic