loadMapSettingsSync function

Future<LoadSettingsResult> loadMapSettingsSync({
  1. required bool viewportInitialized,
})

Loads map settings synchronously from SharedPreferences.

Implementation

Future<LoadSettingsResult> loadMapSettingsSync({
  required bool viewportInitialized,
}) async {
  try {
    final settings = await MapSettingsService.loadSettings();

    if (viewportInitialized) {
      return LoadSettingsResult(
        settings: settings,
        viewportInitialized: viewportInitialized,
      );
    }

    // Load viewport separately.

    try {
      final viewport = await MapSettingsService.getStartupViewport(settings);
      return LoadSettingsResult(
        settings: settings,
        initialCenter: LatLng(viewport.lat, viewport.lng),
        initialZoom: viewport.zoom,
        viewportInitialized: true,
      );
    } catch (_) {
      return LoadSettingsResult(
        settings: settings,
        viewportInitialized: viewportInitialized,
      );
    }
  } catch (_) {
    return LoadSettingsResult(
      settings: MapSettings(mapSource: MapSettings.getDefaultMapSource()),
      viewportInitialized: viewportInitialized,
    );
  }
}