Android GeoLocation FireStore:一种在用户关闭位置共享选项后停止 google 服务获取用户地理点的方法

Android GeoLocation FireStore: A way to stop google service from getting geopoints of a user once user turns off the location sharing option

我正在尝试构建一个跟踪应用程序,我在其中获取用户 GeoPoints 并获得用户许可,然后将其上传到 Firestore 数据库。之后,我使用 Geopoints 在地图上添加标记,这有助于在 google 地图上定位特定用户。但是,我计划添加一个选项来隐藏用户的位置,当用户选择时,该特定用户的位置将不会在 map.I 上可见,我正在使用 google 服务来不断更新用户的位置。有人可以稍微解释一下吗,我如何才能停止获取用户的位置并从该特定用户的 google 地图中删除标记?提前致谢。

我能想到的最简单的方法是在每个用户对象下添加一个名为 locationSharingBoolean 类型的新 属性,默认值为 true .一旦用户决定私有化,只需将这个新的 属性 的值更改为 false。现在,在用户文档上附加一个快照监听器,实时查看 locationSharing 属性 的变化。如果 locationSharing 属性 的值变为 false,则停止更新用户在 Google 地图上的位置。就是这样。