Skip to main content

Modul zobrazení polohy v mapě

Veškeré zdrojové soubory se nachází v ./map

GoogleMapsWidget

class MapsWidget extends StatefulWidget {
final double longitude;
final double latitude;
final String? apiKey;
final fmaps.MapController mapController;
final MarkerService? markerService;
final bool showMarkers;

const MapsWidget({
super.key,
required this.apiKey,
required this.longitude,
required this.latitude,
required this.mapController,
this.markerService,
this.showMarkers = true,
});
ParameterTypeDescription
latitudeDoubleZeměpisná šířka středu mapy
longitudeDoubleZeměpisná délka středu mapy
apiKeyStringApi klíč poskytovatele map
childrenList<Widget>?Widgety, které se zobrazí na mapě
userAgentPackageNameString?User agent, který bude použit při získávání map
markerServiceMarkerService?Instance třídy poskytující značky pozic závodníků
showMarkersboolMožnost zobrazení značek v mapě

MapViewWidget

class MapViewWidget extends StatefulWidget {
final double latitude;
final double longitude;
final MapController? mapController;
final String? url;
final List<Widget>? children;
final String? userAgentPackageName;
final MarkerService? markerService;
final bool showMarkers;

const MapViewWidget({
super.key,
this.url,
required this.latitude,
required this.longitude,
this.mapController,
this.children,
this.userAgentPackageName,
this.markerService,
this.showMarkers = true,
});
ParameterTypeDescription
latitudeDoubleZeměpisná šířka středu mapy
longitudeDoubleZeměpisná délka středu mapy
mapControllerMapController?Controller pro nastavení pozice a přiblížení mapy
urlStringZáklad url na API
childrenList<Widget>?Widgety, které se zobrazí na mapě
userAgentPackageNameString?User agent, který bude použit při získávání map
markerServiceMarkerService?Instance třídy poskytující značky pozic závodníků
showMarkersboolMožnost zobrazení značek v mapě

MapWidget

class MapWidget extends StatefulWidget {
final bool showMarkers;
final MapProvider provider;
final String apiKey;
final String url;

const MapWidget({
super.key,
required this.url,
this.apiKey = "",
this.showMarkers = true,
this.provider = MapProvider.google,
});
ParameterTypeDescription
showMarkersboolMožnost zobrazení značek v mapě
providerMapProviderPoskytovatel map
apiKeyStringApi klíč pro poskytovatele map
urlStringZáklad url na API

PositionsLayer

class PositionsLayer extends StatefulWidget {
final MarkerService? markerService;

const PositionsLayer({super.key, this.markerService});
ParameterTypeDescription
markerServiceMarkerService?Instance třídy poskytující značky pozic závodníků

PreferencesWidget

class PreferencesWidget extends StatefulWidget {
String url;
PreferencesWidget({super.key, required this.url})
ParameterTypeDescription
urlStringZákladní URL Rest API

Atributy

VariableTypeDescription
sharingintVolba sdílení polohy
Map<String, int>sharingOptionsDostupné volby sdílení

Metody

loadPreferences()

Načtení volby sdílení do proměnné sharing

MarkerService

abstract class MarkerService

Metody

Stream<List<Racer>> getRacerStream()

Metoda poskytující stream pozic závodníků

Widget? createMarkerLayer()

Metoda pro vytvoření vrstvy značek závodníků v mapě

Future<Map<String, dynamic>> createGoogleMapsMarkers(List<Racer> racers)

Metoda pro vytvoření vrstvy značek závodníků pro Google mapy

Future<List<Map<String, dynamic>>> createMapboxAnnotations(List<Racer> racers)

Metoda pro vytvoření vrstvy značek závodníků pro Mapbox

DefaultMarkerService

class DefaultMarkerService implements MarkerService {
String url;
DefaultMarkerService({required this.url});
ParameterTypeDescription
urlStringZákladní URL Rest API

Metody

Stream<List<Racer>> getRacerStream()

Metoda poskytující stream pozic závodníků

Widget? createMarkerLayer()

Metoda pro vytvoření vrstvy značek závodníků v mapě

Future<Map<String, dynamic>> createGoogleMapsMarkers(List<Racer> racers)

Metoda pro vytvoření vrstvy značek závodníků pro Google mapy

Future<List<Map<String, dynamic>>> createMapboxAnnotations(List<Racer> racers)

Metoda pro vytvoření vrstvy značek závodníků pro Mapbox

Future<Uint8List> createMarkerImage(name, {Size size = const Size(75, 75), Duration waitToRender = const Duration(milliseconds: 300),})

Pomocná metoda pro vytvoření obrázku značky pro použití u Google map

Racer

class Racer {
final double latitude;
final double longitude;
final String name;

Racer({required this.latitude, required this.longitude, required this.name});
ParameterTypeDescription
latitudeDoubleZeměpisná šířka závodníka
longitudeDoubleZeměpisná délka závodníka
nameStringJméno/Číslo závodníka

Metody

Racer.fromJson(Map<String, dynamic> json)

Pojmenováný konstruktor pro načtení z JSONu