Location.fromJson constructor

Location.fromJson(
  1. Map<String, dynamic> json
)

Constructs an instance of Location from json.

Implementation

factory Location.fromJson(Map<String, dynamic> json) {
  final double? lat = double.tryParse(json['latitude'].toString());
  final double? lon = double.tryParse(json['longitude'].toString());
  if (lat == null) throw ArgumentError.notNull('latitude');
  if (lon == null) throw ArgumentError.notNull('longitude');

  final double? millisecondsSinceEpoch =
      double.tryParse(json['millisecondsSinceEpoch'].toString());
  final DateTime timestamp = millisecondsSinceEpoch == null
      ? DateTime.now()
      : DateTime.fromMillisecondsSinceEpoch(millisecondsSinceEpoch.toInt());

  return Location(
    latitude: lat,
    longitude: lon,
    accuracy: double.tryParse(json['accuracy'].toString()) ?? 0.0,
    altitude: double.tryParse(json['altitude'].toString()) ?? 0.0,
    heading: double.tryParse(json['heading'].toString()) ?? 0.0,
    speed: double.tryParse(json['speed'].toString()) ?? 0.0,
    speedAccuracy: double.tryParse(json['speedAccuracy'].toString()) ?? 0.0,
    millisecondsSinceEpoch:
        millisecondsSinceEpoch ?? timestamp.millisecondsSinceEpoch.toDouble(),
    timestamp: timestamp,
    isMock: json['isMock'] ?? false,
  );
}