如何在用户使用Android从地图传递特定位置时显示消息?

时间:2018-03-02 13:32:47

标签: java android firebase geofire

我想在地图上添加5个标记(城市位置),每次用户经过附近时,我都想向用户显示一条消息:You have just passed the first location, then second location and so on

我怎样才能做到这一点?我甚至可以使用Firebase吗?

1 个答案:

答案 0 :(得分:2)

嗯,因为问题相当不明确的细节,这里有一个相当广泛的答案,我个人如何解决问题:

因此,根据我的理解,问题分为以下几部分:

  • 在地图上显示标记
  • 倾听用户位置
  • 将用户位置与标记位置进行比较
  • 显示消息

在地图上显示标记

我假设您正在考虑使用Google Maps API这样做,因此我建议您查看以下内容:Adding a map with a marker

倾听用户位置

以下文档中说明了倾听用户位置:Location Strategies。列出了如何获取用户位置的多种方法,以满足您的特定需求。

将用户位置与标记位置进行比较

我个人建议您在这里使用Noodle。我不能为你做所有的想法,但不知何故,你必须有标记的位置坐标存储和访问,以便与用户的位置更新进行比较。我还会跟踪是否已访问过“检查点”,以避免过度显示消息。

显示消息 最后但并非最不重要的是,显示消息。我会使用Toasts向用户显示他们已通过检查点。一个聪明的方法就是在onLocationChanged方法中实现这一点,你必须覆盖它来监听位置更新,并且只是在你比较位置时显示一个toast方法告诉你。

我个人认为不需要为此添加firebase,因为不需要从数据库中存储或获取数据。一切都可以在当地完成。

<强> P.S。如果它最终帮助你,请不要忘记将其标记为正确的答案!