首页 > 解决方案 > Android GeoLocation FireStore:一种在用户关闭位置共享选项后阻止谷歌服务获取用户地理点的方法

问题描述

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

标签: androidgoogle-mapsgeolocationgoogle-cloud-firestoreandroid-service

解决方案


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


推荐阅读