如何在flutter_map中添加实时位置跟踪?

enxuqcxy  于 2023-06-24  发布在  Flutter
关注(0)|答案(3)|浏览(141)

如何将实时跟踪与flutter_map集成。有谁知道是哪个库集成的吗?或如何实施?

os8fio9y

os8fio9y1#

为了做到这一点,我们需要了解什么是实时位置跟踪。它主要包括这些:

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

您的第一方将不得不知道或位置的变化,当它的坐标改变,它会张贴新的坐标到您的数据库。这可以使用您的位置包,LocationGeolocator或其他依赖项来完成。你听onLocationChanged
您的第二方将监控您的数据库,为任何新的坐标被张贴。理想情况下,这将是通过利用Flutter中的streambuilder,它通过服务器监听来自数据库的事件流,或者更实际地,通过FirebaseFirestore流。
当你的第二方收到这些新的坐标,它将更新Map与新收到的数据。您可以通过使用两个东西来实现这一点:

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

现在,你有第一方上传它的数据时,位置的变化,和第二方获得的数据,只要它被上传,你有实时跟踪。实现它并不像你想象的那么难。
1.使用Flutter谷歌Map。
1.启用谷歌MapAPI在谷歌云控制台为您的平台(S),Android的,iOS的,JavaScript如果你想网络.
1.安装您的位置依赖关系。
1.当坐标改变时,用新坐标更新数据库。
1.在第二方设备上构建Map小部件,按照文档,这是非常清楚的,并将其放入流构建器中。
1.用新坐标更新此Map。
你会得到一个位置跟踪系统。

e4eetjau

e4eetjau2#

使用user_location_plugin
我不认为你想自己实施它。

cxfofazt

cxfofazt3#

如flutter_map文档所列,可以使用flutter_map_location_marker插件实现用户自己设备的实时位置跟踪。它将'user_location_plugin'作为suggested by Pablito和另一个(现已存档)插件进行超种子,并使用设备的位置度量在Map上移动Marker
Huthaifa Muayyad's answer可能是合适的,如果你试图跟踪另一个设备-在这种情况下,你将需要复杂的中间数据库设置。请注意,他们的答案使用'flutter_google_maps'而不是'flutter_map'。

相关问题