FlutterEarthGlobeController constructor

FlutterEarthGlobeController({
  1. ImageProvider<Object>? surface,
  2. ImageProvider<Object>? nightSurface,
  3. ImageProvider<Object>? background,
  4. double rotationSpeed = 0.2,
  5. bool isZoomEnabled = true,
  6. double zoom = 1,
  7. double maxZoom = 2.5,
  8. double minZoom = -1.0,
  9. bool isRotating = false,
  10. bool isBackgroundFollowingSphereRotation = false,
  11. ImageConfiguration surfaceConfiguration = const ImageConfiguration(),
  12. ImageConfiguration nightSurfaceConfiguration = const ImageConfiguration(),
  13. ImageConfiguration backgroundConfiguration = const ImageConfiguration(),
  14. SphereStyle sphereStyle = const SphereStyle(),
  15. bool isDayNightCycleEnabled = false,
  16. double sunLongitude = 0.0,
  17. double sunLatitude = 0.0,
  18. double dayNightBlendFactor = 0.15,
  19. bool useRealTimeSunPosition = false,
  20. DayNightCycleDirection dayNightCycleDirection = DayNightCycleDirection.leftToRight,
  21. double zoomSensitivity = 0.8,
  22. double panSensitivity = 1.0,
  23. bool zoomToMousePosition = false,
  24. double panOffsetX = 0.0,
  25. double panOffsetY = 0.0,
  26. bool showAtmosphere = true,
  27. Color atmosphereColor = const ui.Color.fromARGB(255, 57, 123, 185),
  28. double atmosphereBlur = 30.0,
  29. double atmosphereThickness = 0.03,
  30. double atmosphereOpacity = 0.2,
})

Implementation

FlutterEarthGlobeController({
  ImageProvider? surface,
  ImageProvider? nightSurface,
  ImageProvider? background,
  this.rotationSpeed = 0.2,
  this.isZoomEnabled = true,
  this.zoom = 1,
  this.maxZoom = 2.5,
  this.minZoom = -1.0, // Allow zooming out further (negative = smaller globe)
  bool isRotating = false,
  this.isBackgroundFollowingSphereRotation = false,
  this.surfaceConfiguration = const ImageConfiguration(),
  this.nightSurfaceConfiguration = const ImageConfiguration(),
  this.backgroundConfiguration = const ImageConfiguration(),
  this.sphereStyle = const SphereStyle(),
  this.isDayNightCycleEnabled = false,
  this.sunLongitude = 0.0,
  this.sunLatitude = 0.0,
  this.dayNightBlendFactor = 0.15,
  this.useRealTimeSunPosition = false,
  this.dayNightCycleDirection = DayNightCycleDirection.leftToRight,
  this.zoomSensitivity = 0.8,
  this.panSensitivity = 1.0,
  this.zoomToMousePosition = false,
  this.panOffsetX = 0.0,
  this.panOffsetY = 0.0,
  this.showAtmosphere = true,
  this.atmosphereColor = const ui.Color.fromARGB(255, 57, 123, 185),
  this.atmosphereBlur = 30.0,
  this.atmosphereThickness = 0.03,
  this.atmosphereOpacity = 0.2,
}) {
  assert(minZoom < maxZoom);
  assert(zoom >= minZoom && zoom <= maxZoom);
  _isRotating = isRotating;
  if (surface != null) {
    loadSurface(surface);
  }

  if (nightSurface != null) {
    loadNightSurface(nightSurface);
  }

  if (background != null) {
    loadBackground(background);
  }
}