producePosition static method

GemPosition producePosition({
  1. DateTime? acquisitionTime,
  2. DateTime? satelliteTime,
  3. Provider provider = Provider.gps,
  4. PositionQuality fixQuality = PositionQuality.high,
  5. double latitude = 0.0,
  6. double longitude = 0.0,
  7. double altitude = 0.0,
  8. double speed = 0.0,
  9. double speedAccuracy = -1.0,
  10. double course = 0.0,
  11. double courseAccuracy = -1.0,
  12. double accuracyH = -1.0,
  13. double accuracyV = -1.0,
  14. bool hasCoordinates = true,
  15. bool hasAltitude = true,
  16. bool hasSpeed = true,
  17. bool hasSpeedAccuracy = false,
  18. bool hasCourse = true,
  19. bool hasCourseAccuracy = false,
  20. bool hasHorizontalAccuracy = false,
  21. bool hasVerticalAccuracy = false,
})

Creates a new GemPosition instance from provided parameters.

Parameters

  • acquisitionTime: When the position was acquired (defaults to current time).
  • satelliteTime: Satellite timestamp (defaults to current time).
  • provider: Position provider (defaults to Provider.gps).
  • fixQuality: Quality of the position fix (defaults to PositionQuality.high).
  • latitude: Latitude in degrees (default: 0.0).
  • longitude: Longitude in degrees (default: 0.0).
  • altitude: Altitude in meters (default: 0.0).
  • speed: Speed in meters per second (default: 0.0).
  • speedAccuracy: Speed accuracy in m/s (default: -1.0).
  • course: Course/heading in degrees (default: 0.0).
  • courseAccuracy: Course accuracy in degrees (default: -1.0).
  • accuracyH: Horizontal accuracy in meters (default: -1.0).
  • accuracyV: Vertical accuracy in meters (default: -1.0).
  • hasCoordinates: Whether coordinates are valid (default: true).
  • hasAltitude: Whether altitude is valid (default: true).
  • hasSpeed: Whether speed is valid (default: true).
  • hasSpeedAccuracy: Whether speed accuracy is valid (default: false).
  • hasCourse: Whether course is valid (default: true).
  • hasCourseAccuracy: Whether course accuracy is valid (default: false).
  • hasHorizontalAccuracy: Whether horizontal accuracy is valid (default: false).
  • hasVerticalAccuracy: Whether vertical accuracy is valid (default: false).

Returns

Implementation

static GemPosition producePosition({
  final DateTime? acquisitionTime,
  final DateTime? satelliteTime,
  final Provider provider = Provider.gps,
  final PositionQuality fixQuality = PositionQuality.high,
  final double latitude = 0.0,
  final double longitude = 0.0,
  final double altitude = 0.0,
  final double speed = 0.0,
  final double speedAccuracy = -1.0,
  final double course = 0.0,
  final double courseAccuracy = -1.0,
  final double accuracyH = -1.0,
  final double accuracyV = -1.0,
  final bool hasCoordinates = true,
  final bool hasAltitude = true,
  final bool hasSpeed = true,
  final bool hasSpeedAccuracy = false,
  final bool hasCourse = true,
  final bool hasCourseAccuracy = false,
  final bool hasHorizontalAccuracy = false,
  final bool hasVerticalAccuracy = false,
}) {
  return GemPositionImpl(
    type: DataType.position,
    acquisitionTime: acquisitionTime ?? DateTime.now(),
    satelliteTime: satelliteTime ?? DateTime.now(),
    provider: provider,
    fixQuality: fixQuality,
    latitude: latitude,
    longitude: longitude,
    altitude: altitude,
    speed: speed,
    speedAccuracy: speedAccuracy,
    course: course,
    courseAccuracy: courseAccuracy,
    accuracyH: accuracyH,
    accuracyV: accuracyV,
    hasCoordinates: hasCoordinates,
    hasAltitude: hasAltitude,
    hasSpeed: hasSpeed,
    hasSpeedAccuracy: hasSpeedAccuracy,
    hasCourse: hasCourse,
    hasCourseAccuracy: hasCourseAccuracy,
    hasHorizontalAccuracy: hasHorizontalAccuracy,
    hasVerticalAccuracy: hasVerticalAccuracy,
  );
}