【问题标题】:How to add live location tracking in flutter_map?如何在flutter_map中添加实时位置跟踪?
【发布时间】:2021-04-29 18:59:55
【问题描述】:

如何将实时跟踪与flutter_map 集成。有谁知道其中集成了哪个库?或者如何实现?

【问题讨论】:

    标签: flutter flutter-layout flutter-dependencies fluttermap


    【解决方案1】:

    为了做到这一点,我们需要了解什么是实时位置跟踪。主要由以下几部分组成:

    • 正在广播的位置(被跟踪的位置)=> 第一方。
    • 这些位置更新的侦听器(观察者)=> 第二方。
    • 存储这些更改的地方,充当双方之间的中间地带。这是您的数据库。可以是 FireStore,也可以是传统数据库。

    您的第一方必须注意或位置发生变化,当坐标发生变化时,它会将新坐标发布到您的数据库中。这可以使用您的位置包来完成,LocationGeolocator 或其他依赖项。你听onLocationChanged

    您的第二方将监控您的数据库,以了解是否有任何新的坐标被发布。理想情况下,它会使用 Flutter 中的流构建器,它通过服务器侦听来自数据库的事件流,或者更实际地,通过 FirebaseFirestore 流。

    当您的第二方收到这些新坐标时,它将使用新收到的数据更新地图。您可以通过两件事来实现这一点:

    • 向地图添加一个标记,该标记需要一个必需的LatLng 参数。这是您刚刚收到的LatLng
    • 您还必须为相机设置动画,以指向新收到的LatLng

    现在,只要位置发生变化,您就可以让第一方上传其数据,而在上传数据后,第二方会立即获取数据,并且您可以进行实时跟踪。实现它并没有你想象的那么难。

    1. 使用 Flutter 谷歌地图。
    2. 在谷歌云控制台中为您的平台、Android、iOS、JavaScript 启用谷歌地图 API(如果您需要网络)。
    3. 安装您的位置依赖项。
    4. 当新坐标发生变化时,用新坐标更新您的数据库。
    5. 按照非常清晰的文档在您的第二方设备上构建您的地图小部件,并将其放入流构建器中。
    6. 使用新坐标更新此地图。

    您将获得一个位置跟踪系统。

    【讨论】:

      【解决方案2】:

      它使用user_location_plugin

      我认为你不想自己实现它。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-02-10
        • 1970-01-01
        • 2018-06-04
        • 1970-01-01
        • 2016-11-14
        • 2019-11-29
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多