Location.fromJson constructor
Location.fromJson(
- Map<String, dynamic> json
)
Implementation
factory Location.fromJson(Map<String, dynamic> json) {
double? lat = json["latitude"]?.toDouble();
double? lon = json["longitude"]?.toDouble();
// 经纬度有效性检查:
// 1. 值不为null
// 2. 值不为0
// 3. 纬度在 -90 到 90 之间
// 4. 经度在 -180 到 180 之间
bool valid = false;
if (lat != null && lon != null) {
if (lat != 0 &&
lat >= -90 &&
lat <= 90 &&
lon != 0 &&
lon >= -180 &&
lon <= 180) {
valid = true;
}
}
return Location(
latitude: lat,
longitude: lon,
isValid: valid,
);
}