如何在 Android 应用程序的地图中显示用户的实时位置?
Posted
技术标签:
【中文标题】如何在 Android 应用程序的地图中显示用户的实时位置?【英文标题】:How to display live location of user within a map in an android app? 【发布时间】:2016-11-08 16:11:00 【问题描述】:我正在开发一个应用程序模块,该模块直接与用户交互,并从应用程序中跟踪用户的位置,并将其存储在数据库中作为Latitude
和Longitude
字段。我正在使用mysql databse
。
我使用了一个概念,我正在重复 Web Service
请求以从数据库中获取最新的 lat long 以及将其推送到数据库以使用 存储相同的API 端点。但同样的效率不高,而且会大量消耗电池电量。
所以我想知道如何制作一个位置感知应用程序,它可以显示用户的实时位置,而无需重复调用端点。
间接地,我想知道像 OLA 或 UBER 这样的应用程序如何显示附近的出租车,还可以显示出租车从一个点移动到另一个点的准确位置。
TIA
【问题讨论】:
【参考方案1】:您不必进行重复的网络调用来将位置推送到您的服务器。根据早期实现的,你可以做以下两件事:
1) 每 40-60 秒推送一次位置(时间间隔由您决定)
2) 当用户移动时推送位置,比如大约 100 米。(同样,距离取决于你)
总而言之,您需要在代码中并行观察时间和距离,然后进行网络调用。
【讨论】:
我说“重复”通话时的意思是一样的 那么没有别的办法了! 你确定还是不知道? 你知道 websocket 吗? 不,我知道 android 和 ios。【参考方案2】:如果有人正在寻找解决方案,这对我有用
我使用了一个 relatime DB ex Firebase
或 rethinkdb
。现在在OnLocationChange
中更新数据库中的值或添加相同的值。确保要显示的对象始终显示最后一项。因此它将移动到新位置。
【讨论】:
以上是关于如何在 Android 应用程序的地图中显示用户的实时位置?的主要内容,如果未能解决你的问题,请参考以下文章