当前位置: 首页 > 面试题库 >

如何将坐标数组写入Cloud Firestore

谢承
2023-03-14
问题内容

如何将坐标数组作为GeoPoint数据类型写入Cloud Firestore ?

我确实有一个arraylist<latlng> pointswith坐标,我需要将这些坐标写入Firestore:

@Override
public void onLocationChanged(Location location) {
    mLastLocation = location;

    mLatLng = new 
LatLng(location.getLatitude(),location.getLongitude());
    mMap.moveCamera(CameraUpdateFactory.newLatLng(mLatLng));

    mMap.animateCamera(CameraUpdateFactory.zoomTo(20));

    if (mDraw) {
        points.add(mLatLng); //added
        drawPolyLine();
    }


}

private void drawPolyLine(){
    mMap.clear();

    PolylineOptions options = new 
PolylineOptions().width(5).color(Color.BLUE).geodesic(true);
    for (int i = 0; i < points.size(); i++) {
        LatLng point = points.get(i);
        options.add(point);
    }

    line = mMap.addPolyline(options); //add Polyline
}

我试着docRef.update("Test", FieldValue.arrayUnion(points));docRef.set(points);都导致错误Nested arrays not supportedrequired map String or related POJO respectively


问题答案:

将FieldValue.arrayUnion作为第二个参数传递给update()方法时,如以下代码行所示:

docRef.update("Test", FieldValue.arrayUnion(points));

这意味着,你告诉火力地堡要更新文档是类型中的属性arrayList,这实际上是不可能的,因此这样的错误:

Nested arrays not supported

如果您的文档包含嵌套数组,请注意,当前无法进行常规更新。相反,您可以做的是获取整个文档,然后在对象上调用getData()DocumentSnapshot。返回的对象类型为Map<String, Object>。遍历地图,更新所需的值,然后将文档写回到数据库中。



 类似资料:
  • 问题内容: 我一直在尝试将数组写入文件。我知道如何将整数或字符串写入文件,但是要带一个数组会使我感到困惑。我现在正在使用这个: 问题答案: 就像其他人说的那样,您可以循环遍历数组并逐个打印出元素。为了使输出显示为数字而不是您看到的“字母和符号”,您需要将每个元素转换为字符串。因此,您的代码将如下所示: 如果您只想打印类似的数组,则可以使用此衬纸替换循环:

  • 问题内容: 我有一个示例数组如下 我想将此数组写入文件,例如我得到的文件如下 问题答案: 如果它是一个巨大的数组,并且在写入之前需要太多内存才能将其序列化为字符串,则可以使用流:

  • 问题内容: 我想打开一个新的文本文件,然后将numpy数组保存到该文件。我写了这段代码: 我收到此错误: 有人知道怎么了吗? 另外,我在终端中找到了一个名为file_2的空文件,但是里面没有任何内容。 编辑:我正在使用Python3.4 问题答案: 看来您正在使用Python3。因此,请以二进制模式()而非文本模式()打开文件: 另外,关闭文件句柄,以确保将所有内容都写入磁盘。您可以使用-stat

  • 问题内容: 我想发送多个随机值。我认为数组是发送它们的最佳方法。但是我不知道如何向Socket写一个数组? 我的Java课: 导入java.io.ByteArrayOutputStream; 导入java.io.IOException; 导入java.io.InputStream; 导入java.net.Socket; 导入java.io. *; 导入java.util.Random; 问题答案:

  • 我有一个二维数组,想通过java代码写入一个excel文件单元格区域中,并支持导出xlsx文件。 应该如何实现?

  • 问题内容: 我想用一个很长的数字分开的数字来计算。如何在Python2.7中做到这一点?我考虑过以某种方式将数字写入数组,以便可以使用array(x)访问数字: 问题在于,该数字有很多位数,因此手动进行将花费很长时间。那么我如何自动执行此操作? 问题答案: 您可以使用,而且功能喜欢这个 函数将转换为字符串。 函数将函数应用于字符串化数字的每个元素,以将字符串转换为整数。 输出量 如果您在一个循环中