LocationDto.fromJson constructor

LocationDto.fromJson(
  1. Map json
)

Parses the location map sent by the native side.

Numbers may arrive as int or double and optional fields (is_mocked, provider, speed_accuracy) may be missing, e.g. on iOS.

Implementation

factory LocationDto.fromJson(Map<dynamic, dynamic> json) {
  return LocationDto._(
    _toDouble(json[Keys.ARG_LATITUDE]),
    _toDouble(json[Keys.ARG_LONGITUDE]),
    _toDouble(json[Keys.ARG_ACCURACY]),
    _toDouble(json[Keys.ARG_ALTITUDE]),
    _toDouble(json[Keys.ARG_SPEED]),
    _toDouble(json[Keys.ARG_SPEED_ACCURACY]),
    _toDouble(json[Keys.ARG_HEADING]),
    _toDouble(json[Keys.ARG_TIME]),
    json[Keys.ARG_IS_MOCKED] == true,
    json[Keys.ARG_PROVIDER] as String? ?? '',
  );
}