PhoneGap - 不断发送/获取车队汽车的位置 - 最佳方法?



我必须开发一个出租车应用。

计划/需求是这样的:
,,驱动设备:
,,,,,,-发送位置到服务器时,它的变化(频率取决于司机的状态-忙,可用等。-我更感兴趣的是可用驱动程序的准确位置,而不是繁忙的驱动程序,但这不是很重要…)
请求者的设备:
,,,,,,-尽可能更新所有司机在地图上的位置(很可能是谷歌地图)

我担心的事情是:性能, 净交通电池经济

你需要弄清楚,你是为少量的司机还是为大量的司机创建这个应用程序。

    这就是选择一个合适的js框架的重要性。Phonegap当然是一个包装器。实时java脚本客户端/服务器通信架构的顶级组合是Node.js和SOCKET。IO框架。不幸的是,它们只在一个干净的混合应用程序中有用(应用程序没有一些js移动应用程序框架,如jQuery mobile, jQMoby ....)。

如果你要使用一个js移动应用框架,你需要将它与主干js框架结合使用。不如node.js和socket IO好,但仍然是一个很好的组合。Node.js和socket IO不能很好地与其他js移动应用框架兼容。

  • 使用phonegap地理定位API获取汽车的位置。不像运动GPS应用程序,你不需要刷新每一秒。

  • 汽车正在经过预定义的路线,所以30秒的刷新时间足够了。
  • 不要将30秒间隔与实时时间(11:00:00,11:00:30,11:01:00…)联系在一起,因为每个设备都会试图同时发送位置刷新,这会破坏服务器基础设施。最好在应用程序初始化后每30秒计时一次。

  • 驱动程序的设备应用程序可以是一个小应用程序,它将作为后台进程工作。因为数据将每30秒发送一次,网络流量和电池寿命将成为一个真正的问题。

  • 请求设备将在每个预定义的时间获得大量数据(请求设备周围某个半径内所有可能的汽车)。在服务器可以发送批量数据之前,请求者必须发送其位置。它将被用来获得最近的汽车。

  • Google Maps mobile API v3将被用作请求设备上的地图。因为这是一个移动设备,而移动框架并不以其出色的性能而闻名,所以不要使用它来显示超过100辆汽车(对于桌面web应用程序,最多显示几百辆)。

  • 我的最后一个建议是,如果可能的话,创建一个本地手机应用,因为混合手机应用并不擅长处理实时数据。至少没有大量的数据。坚持较长的转换间隔,这将节省你的电池。不要认为使用XML作为客户机/服务器数据。它有很大的数据开销

node . js

插座。IO

最新更新