我正试图在数据库中保存标记的纬度和经度。
不幸的是,我有这个错误:
无效参数:“LatLng”的示例
软件包:latlong2:^0.9.0
我的模特:
import 'package:cloud_firestore/cloud_firestore.dart';
import 'package:latlong2/latlong.dart';
class ActivitiesModel {
String id;
String organisateur;
final DateTime? createDate;
final DateTime? modifyDate;
LatLng location;
ActivitiesModel({
this.id = '',
required this.organisateur,
this.createDate,
this.modifyDate,
required this.location,
});
Map<String, dynamic> toJson() => {
'id': id,
'organisateur': organisateur,
'createDate': createDate,
'modifyDate': modifyDate,
'location': location,
};
static ActivitiesModel fromJson(Map<String, dynamic> json) => ActivitiesModel(
id: json['id'],
organisateur: json['organisateur'],
createDate: (json['createDate'] as Timestamp).toDate(),
modifyDate: (json['modifyDate'] as Timestamp).toDate(),
location: LatLng.fromJson(json['location']),
);
}
字符串
我尝试保存到Firebase数据库中的信息位置:
final activitiesModel = ActivitiesModel(
id: widget.activitiesModel.id,
organisateur: 'Mickael R.',
createDate: widget.activitiesModel.createDate,
modifyDate: DateTime.now(),
location: LatLng(-12.0080041, -77.0778237),
);
return activitiesModel;
型
这是我犯的错误:
无效参数:“LatLng”的示例
如何使用对象LatLng在数据库中保存我的位置?
1条答案
按热度按时间edqdpe6u1#
我的第一个猜测是,你正在传递一个类型为
ActivitiesModel
的对象,它不能处理其中的LatLng
字段-因为它只能处理here文档中的类型。在你将对象传递给Firestore之前,你需要确保它只包含文档列表中的类型,包括这些类型的Map和数组。因此,我通常会将纬度/经度对存储为带有命名字段的Map或带有两个值的数组。