Во-первых, я настоятельно рекомендую вам иметь один файл, который определяет все ваши схемы и / или модели, поэтому есть единственная точка отсчета для вашей структуры БД. как некоторый файл с именем dbSchema.dart:
import 'package:meta/meta.dart';
class Replies {
final String title;
final Map coordinates;
Replies({
@required this.title,
@required this.coordinates,
});
Map<String, dynamic> toJson() =>
{
'title': title,
'coordinates': coordinates,
};
}
и создайте поле, которое вы хотите, чтобы объект типа карты. затем на странице, которую вы собираетесь вставить в базу данных, импортируйте dbSchema.dart и создайте новую модель:
Replies _replyObj = new Replies(
title: _topic,
coordinates: _coordinates,
);
это предполагает, что вы определили свой локальный объект _coordinates (или любой другой) до этого, с чем-то вроде:
_coordinates = {
'lat': '40.0000',
'lng': '110.000',
};
и затем для вставки в Firestore добавьте метод toJson объекта (вы не можете вставить / обновить простую модель Dart):
CollectionReference dbReplies = Firestore.instance.collection('replies');
Firestore.instance.runTransaction((Transaction tx) async {
var _result = await dbReplies.add(_replyObj.toJson());
....