来自服务器的谷歌地图实时位置更新
Posted
技术标签:
【中文标题】来自服务器的谷歌地图实时位置更新【英文标题】:Google map real time location update from server 【发布时间】:2016-06-28 05:34:59 【问题描述】:我正在开发一个需要实时共享位置的 android 应用程序。我有 mysql 作为服务器来存储用户位置。我需要从服务器获取位置并在谷歌地图上更新。我可以通过简单地调用 Web 服务来通过计时器任务存储和检索位置来做到这一点。但这会导致电池快速耗尽,而且这也不是实时发生的。我想实时完成所有这些,如果用户正在移动,我想在地图上移动标记。请帮助我,我将非常感激。
【问题讨论】:
使用GCM
在位置改变时从服务器发送通知,并在android端更新用户在地图上的位置..无需使用计时器任务。
【参考方案1】:
我认为您需要使用 websockets。您还可以使用 GCM 将位置推送到应用程序。如果您详细说明您在服务器端使用的技术,我们将能够提供更多信息。希望这会有所帮助。
【讨论】:
【参考方案2】:websockets 和 GCM 可能都不起作用。 每当您需要从服务器推送实时流式更新时,您需要与服务器建立 TCP 通道连接,这就是旅行服务 uber 或 ola 的工作方式。
检查如何设置 TCP 服务器套接字
【讨论】:
【参考方案3】:如果您想在不使用 GPS 的情况下获得更准确的位置数据。相反,该服务会通过查看您周围的手机信号塔和 WiFi 接入点来尝试对您的位置进行三角测量。然后使用Google Maps Geolocation API. 此服务旨在节省电池寿命并在 GPS 无法工作的情况下提供更好的室内定位。
您也可以查看此SO question 以获得其他解决方案。
【讨论】:
以上是关于来自服务器的谷歌地图实时位置更新的主要内容,如果未能解决你的问题,请参考以下文章