updateByJson method

  1. @override
void updateByJson(
  1. Map<String, dynamic> map, {
  2. Location? parser,
})

通过基本数据类型的Map来更新字段。来源map可以直接使用jsonEncode进行序列化,可以直接保存到mongo数据库

Implementation

@override
void updateByJson(Map<String, dynamic> map, {Location? parser}) {
  parser = parser ?? Location.fromJson(map);
  if (map.containsKey('latitude')) latitude = parser.latitude;
  if (map.containsKey('longitude')) longitude = parser.longitude;
  if (map.containsKey('accuracy')) accuracy = parser.accuracy;
  if (map.containsKey('altitude')) altitude = parser.altitude;
  if (map.containsKey('bearing')) bearing = parser.bearing;
  if (map.containsKey('speed')) speed = parser.speed;
  if (map.containsKey('country')) country = parser.country;
  if (map.containsKey('province')) province = parser.province;
  if (map.containsKey('city')) city = parser.city;
  if (map.containsKey('district')) district = parser.district;
  if (map.containsKey('street')) street = parser.street;
  if (map.containsKey('streetNumber')) streetNumber = parser.streetNumber;
  if (map.containsKey('cityCode')) cityCode = parser.cityCode;
  if (map.containsKey('adCode')) adCode = parser.adCode;
  if (map.containsKey('address')) address = parser.address;
  if (map.containsKey('description')) description = parser.description;
  if (map.containsKey('snapshotUrl')) snapshotUrl = parser.snapshotUrl;
  if (map.containsKey('zoomLevel')) zoomLevel = parser.zoomLevel;
  if (map.containsKey('distance')) distance = parser.distance;
}