【问题标题】:Real Time Tracking in Android AppAndroid 应用程序中的实时跟踪
【发布时间】:2015-08-03 07:15:43
【问题描述】:

像优步这样的应用如何实时跟踪出租车?让我详细介绍一下:-

  1. 出租车定位到服务器。
  2. 然后服务器将该位置传达给尝试预订出租车的另一个​​用户应用程序。

我浏览了很多博客,之后我想到了以下解决方案来解决这两个问题:

  1. 在一段时间间隔后,出租车将使用 http 请求与服务器进行经纬度通信。
  2. 用户应用程序将与服务器建立一个套接字,服务器中的任何更改都将通过该套接字传递给用户应用程序。

有没有更好的方法呢?请提供您对该问题的见解。

【问题讨论】:

  • 在android的LocationListener类中有一个名为onLocationChanged(Location location)的方法,它是Called when the location has changed. ,所以当cab改变它的位置时,它会被调用,你只需要将位置发送到服务器。跨度>
  • @KaranMer :如果位置发生变化,知道这不是问题,但主要关心的是使用哪一个,轮询或套接字将信息从 Cab 传递到服务器,然后从服务器传递到用户应用程序。哪一个会是明智的选择?

标签: android sockets socket.io


【解决方案1】:

我认为每辆出租车都将配备 GPS 跟踪器(可能是基于移动的应用程序也不确定)来跟踪和发送实时数据,一旦位置数据发生变化,建立的 TCP 连接将用于通信。

【讨论】:

    【解决方案2】:

    我的应用程序也有同样的问题,驱动程序在服务器的 MySQL 表中发送他们的位置。我认为最好的方法是 WebSockets,在服务器和客户端之间创建连接并发送新的每次更改时的位置。 我真的不知道是否是最好的方法,但我会尝试这样做,也许也可以帮助你。 我正在使用 PHP,所以我将尝试使用 Ratchet:

    Ratchet PHP

    【讨论】:

    • 是的。 Socket 是解决此问题的最佳解决方案之一。池化服务器无济于事。
    • 到目前为止对我来说是最好的解决方案。我已经用Crossbar IO 解决了我的问题。 Crossbar使用WAMP协议,可以实现RPC或者Pub/Sub系统。
    【解决方案3】:

    我认为出租车不会与服务器通信,反之亦然,直到有一些客户/乘客确定他的位置和目的地。客户的请求被发送到服务器,然后服务器寻找离客户/乘客更近的出租车。他们很有可能正在使用谷歌的GCM谷歌云消息服务。

    【讨论】:

    • 我猜你需要查看 uber 应用程序。登录后,您可以在屏幕上的地图中查看和查看出租车的实时移动。
    猜你喜欢
    • 2012-02-15
    • 2014-11-06
    • 1970-01-01
    • 2017-11-02
    • 2010-09-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多