【问题标题】:Getting Polyline from Firestore从 Firestore 获取折线
【发布时间】:2021-10-18 09:56:01
【问题描述】:

我能否从不同的文档中检索存储在 Firestore 中的所有坐标为 LatLng,并使用坐标在 GoogleMap API 中使用折线构建路线。还是我需要将它保存在 Firestore 中的 Array 中才能这样做?我在 Firestore 中制作一条从 3 到 4 个坐标的路线是可能的,还是只有 2 个坐标是使折线作为目的地和起点的最大值。先感谢您。任何文档也受到赞赏。

我的 Firestore 的图片:

【问题讨论】:

    标签: firebase flutter google-maps google-cloud-firestore google-polyline


    【解决方案1】:

    我能否从不同文档中检索存储在 Firestore 中的所有坐标作为 LatLng,并使用这些坐标在 GoogleMap API 中使用折线构建路线。

    正如我在您的屏幕截图中看到的,您数据库中的位置字段是 GeoPoint 类型。所以你需要创建一个查询,遍历结果,为每个位置创建一个新的 LatLng 对象,并将它们全部添加到折线中。

    或者我需要将它保存在 Firestore 中的 Array 中才能这样做。

    这不是强制性的。仅当满足您的要求时才将它们保存到数组中。

    我正在 Firestore 中制作一条从 3 到 4 个坐标的路线,是否有可能,或者仅 2 个坐标是使折线作为目的地和起点的最大值。

    您可以在多段线中添加任意数量的坐标。

    编辑:

    如果你只使用起点和终点,下面的代码可以正常工作:

    PolylinePoints polylinePoints = PolylinePoints();
    PolylineResult result = await polylinePoints.getRouteBetweenCoordinates(googleAPiKey,
            _originLatitude, _originLongitude, _destLatitude, _destLongitude);
    print(result.points);
    

    但是,如果您需要更多,您确实需要一个点列表:

    List<PointLatLng> result = polylinePoints.decodePolyline("_p~iF~ps|U_ulLnnqC_mqNvxq`@");
    print(result);
    

    更多信息如下:

    【讨论】:

    • 非常感谢你,我想我知道我应该如何处理它,只是我将多个坐标放入折线的部分是问题所在。您是否有任何基本代码或如何将所有坐标设置为折线的示例?是在List 中完成的吗?因为我找到了一个使用List 将多个坐标保存到折线中的示例。再次感谢您。
    • 非常感谢。在您的帮助下,我一定会成功的。谢谢老兄。
    • 如果我以后对此有进一步的疑问,我可以在这里发表评论好吗先生?
    • 不,您应该在 Stackoverflow 上发布新问题。不要将它们添加为 cmets。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-08-06
    • 2017-08-21
    • 2017-10-01
    • 2013-04-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多