如何将Geopoint上传到Firestore?

时间:2020-11-07 18:21:05

标签: firebase flutter dart google-cloud-firestore geopoints

我必须将两个坐标保存到我的Firestore中,但必须将它们保存为Firestore中的geopoint类型。我有来自gmaps的数据(LatLng),不知道如何以geopoint的形式上传它们。我还尝试在.toString()之后上载没有companyLocation的列表,但是整个功能无法正常工作。当我运行当前的代码时,数据会像'LatLng(47.79806357324117, 13.031338155269623)'一样作为字符串上传,这是因为我正在使用.toString()

我尝试了以下操作:

我创建了一个新的LatLng

LatLng companyLocation;

我具有通过点击地图来获取数据的功能:

List<Marker> myMarker = [];

  _onTap(LatLng tappedPoint) {
    setState(() {
      myMarker = [];
      myMarker.add(
        Marker(
          markerId: MarkerId(tappedPoint.toString()),
          position: tappedPoint,
        ),
      );
      companyLocation = tappedPoint;
      print(companyLocation);
    });
  }

然后我尝试将包含数据的列表上传到我的Firestore:

 Map<String, dynamic> data = {
      'name': nameController.text,
      'location': companyLocation.toString(),
    };

我尝试了以下注释中提到的代码,但出现错误(GeoPoint带红色下划线),为什么会出现此错误?

这是屏幕截图enter image description here

0 个答案:

没有答案