GMaps实时物体运动更新的方法

时间:2014-10-15 18:22:01

标签: android google-maps google-maps-markers real-time google-maps-android-api-2

我正在制作Android游戏。因此,人们可以在他们之间创建群组/派对,我希望他们能够查看他们群组中的每个成员实时移动Google地图。这意味着我必须找到一种实时或伪实时更新每个客户的地图标记的好方法。

使用 DBMS 的方法是否合适或者代价太高?在这种方法中,每个客户都应该负责用他们当前的坐标来更新数据库,因此每个人都可以查询以查看每个其他党员最后更新的位置。在很短的时间间隔内实现这一点将使用户感觉到人们正在实时地在Map上移动。

另一方面,点对点方法会以更好的方式处理这种情况吗?就像每个团体/派对自己运行一样,让玩家在他们之间交换信息,包含每个人的新坐标(间隔)。我相信第二种方法更好,因为它不会给我们的服务器带来负担,但可能存在缺点。但我不确定实施起来会有多容易,如果Android API为这种情况提供了一些好的东西。

非常欢迎任何意见/建议/评论。我想听听你在想什么,因为我没有这个主题的经验,所以任何事情都可能有所帮助。

提前谢谢!请赐教:))

1 个答案:

答案 0 :(得分:0)

由于选项在连接/操作方面都有点“算”,我建议你检查一下MQTT协议。它被用作M2M连接,着眼于优化。它是为物联网目的而创建的。 我已将它用于非Android项目,但它也可用于此。 你只需要一个服务器(经纪人),我建议使用Mosquitto(它是轻量级的)。 然后每个人都可以订阅一个主题,如:“/ location / update / +”使用+通配符表示“更新”主题后一个级别的每个主题。

然后每个人都将自己的位置发布到主题“/ location / update / {MYID}”,其他人将获得该职位。 通常只有在连接时才会检索位置,但是当订阅并始终使用相同的ClientName连接时,您可以通过使用QoS = 2来管理支持某种“挂起”订阅。

有帮助吗?