如何将实时跟踪与flutter_map集成。有谁知道其中集成了哪个库?或如何实施?
问问题
2330 次
2 回答
5
为了做到这一点,我们需要了解什么是实时位置跟踪。主要由以下几部分组成:
- 正在广播的位置(被跟踪的位置)=> 第一方。
- 这些位置更新的侦听器(观察者)=> 第二方。
- 存储这些更改的地方,充当两方之间的中间地带。这是您的数据库。可以是 FireStore,也可以是传统数据库。
您的第一方必须知道或位置发生变化,并且当坐标发生变化时,它会将新坐标发布到您的数据库中。这可以使用您的位置包Location
或Geolocator
其他依赖项来完成。你听onLocationChanged
。
您的第二方将监视您的数据库,以获取任何发布的新坐标。理想情况下,它会使用 Flutter 中的流构建器,它通过服务器侦听来自数据库的事件流,或者更实际地,通过 FirebaseFirestore 流。
当您的第二方收到这些新坐标时,它将使用新收到的数据更新地图。您通过使用两件事来实现这一点:
- 向地图添加标记,标记需要一个必需的
LatLng
参数。这是LatLng
你刚收到的。 - 您还必须为相机设置动画,以指向新收到的
LatLng
.
现在,只要位置发生变化,第一方就会上传数据,第二方会在上传数据后立即获取数据,并且您可以进行实时跟踪。实现它并不像你想象的那么难。
- 使用颤振谷歌地图。
- 如果您需要网络,请在您的平台、Android、iOS、JavaScript 的谷歌云控制台中启用谷歌地图 API。
- 安装您的位置依赖项。
- 更改时使用新坐标更新您的数据库。
- 根据非常清晰的文档,在您的第二方设备上构建您的地图小部件,并将其放入流构建器中。
- 使用新坐标更新此地图。
你得到一个位置跟踪系统。
于 2021-04-29T19:20:51.040 回答
1
我不认为你想自己实现它。
于 2021-04-29T19:12:11.950 回答