location_info.dart 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. import 'package:flutter_map/src/entity/map_location.dart';
  2. import 'package:json_annotation/json_annotation.dart';
  3. import 'package:location/data/consts/constants.dart';
  4. part 'location_info.g.dart';
  5. @JsonSerializable()
  6. class LocationInfo {
  7. @JsonKey(name: 'userId')
  8. final String? userId;
  9. @JsonKey(name: 'lng')
  10. final double? longitude;
  11. @JsonKey(name: 'lat')
  12. final double? latitude;
  13. @JsonKey(name: 'addr')
  14. final String? address;
  15. @JsonKey(name: 'timestamp')
  16. final int? lastUpdateTime;
  17. LocationInfo({
  18. this.userId,
  19. this.longitude,
  20. this.latitude,
  21. this.address,
  22. this.lastUpdateTime,
  23. });
  24. factory LocationInfo.fromJson(Map<String, dynamic> json) =>
  25. _$LocationInfoFromJson(json);
  26. Map<String, dynamic> toJson() => _$LocationInfoToJson(this);
  27. static LocationInfo fromMapLocation(MapLocation location) {
  28. return LocationInfo(
  29. longitude: location.longitude,
  30. latitude: location.latitude,
  31. address: location.address,
  32. lastUpdateTime: location.time,
  33. );
  34. }
  35. }