class LatLng { final double lat; final double lng; LatLng(this.lat, this.lng); LatLng.empty() : lat = 0, lng = 0; /// must be formatted 'double, double'. For example 35.35217, 89.19659 factory LatLng.fromString(String latLng) { final splitString = latLng.split(','); final lat = double.parse(splitString[0].trim()); final lng = double.parse(splitString[1].trim()); return LatLng(lat, lng); } factory LatLng.fromJson(Map json) { return LatLng(json['lat'] as double, json['lng'] as double); } Map toJson() { return {'lat': lat, 'lng': lng}; } @override bool operator ==(Object other) { if (other is! LatLng) return false; return hashCode == other.hashCode; } @override int get hashCode => Object.hash(lat, lng); @override String toString() { return '${lat.toString()}, ${lng.toString()}'; } }