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

Posted

技术标签:

【中文标题】Android GeoLocation FireStore:一种在用户关闭位置共享选项后阻止谷歌服务获取用户地理点的方法【英文标题】:Android GeoLocation FireStore: A way to stop google service from getting geopoints of a user once user turns off the location sharing option 【发布时间】:2019-04-04 06:58:06 【问题描述】:

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

【问题讨论】:

【参考方案1】:

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

【讨论】:

嗨,亚历克斯,非常感谢您的帮助。是的,它奏效了。附言您的 YouTube 频道非常有帮助,非常感谢您的教程 :)

以上是关于Android GeoLocation FireStore:一种在用户关闭位置共享选项后阻止谷歌服务获取用户地理点的方法的主要内容,如果未能解决你的问题,请参考以下文章

Cordova 插件 Geolocation 不适用于 Android 版本 Kitkat

实现Phonegap Android的Geolocation API

navigator.geolocation.getCurrentPosition 在 android google chrome 上不起作用

navigator.geolocation.getCurrentPosition 在 Android 浏览器上失败

尝试在 Android 设备上运行 Geolocation 时如何解决 Babel 问题?

phonegap android中navigator.geolocation.getCurrentLocation的奇怪行为