我应该多久在Ionic 2中跟踪设备位置(例如Uber,Taxi Apps,...)

时间:2017-04-20 19:16:34

标签: android cordova geolocation

我正在研究Ionic 2的Cordova地理位置插件,并希望在应用程序打开时将设备位置发送到我的服务器。

跟踪我想要一直向服务器发送位置的设备的路由。我想知道我应该多久这样做。每次位置变化似乎都经常发生!?

其他跟踪应用程序如何执行此操作?

1 个答案:

答案 0 :(得分:3)

位置更新的粒度与消耗的电池功率和用于传输位置信息的网络带宽成反比。

我使用以下指南:

  1. 每当位置超出规定距离时发送位置&#39; <&#39;
  2. 在规定的时间段内发送位置&#39; T&#39;自上次成功传输以来已经过去了
  3. 应用启动时的传输位置
  4. 暂停活动时禁用传输,并在活动恢复时启用它
  5. 始终保存上次成功传输(位置和时间戳)以供将来参考
  6. 我通常会存储已定义的参数&#39; D&#39;和&#39; T&#39;在配置文件中,可以方便地测试应用程序对不同值的执行情况。

    使用粗GPS作为参考,位置精度很少超过15米(未应用GPS校正)。考虑到这一点,您可以设置您的D&#39; D&#39;价值在15-30米之间。如果你正在跟踪车辆,那么这个距离可以很快超过,在这种情况下,更大的值可能更好,以避免发送太多数据。

    您还可以增加&#39; D&#39;作为你的位置速度(速度)的函数。这会增加“D&#39; D&#39;车辆移动得越快,从而保持一致的带宽使用。

    &#39; T&#39;的价值真的取决于您的应用需求。如果车辆闲置,我通常每5分钟发送一次更新。

    我在30-100米之间使用了距离(&#39; D&#39;)。如果您正在监控城市环境中的车辆位置,您需要能够确定车辆在拥挤的街道计划中的位置。如果您曾经使用GPS设备在较旧的城市中进行导航,那么这一点就变得非常清楚了,在这个城市中,设备经常会在靠近的街道(即纽约,波士顿,蒙特利尔等)之间混淆。在这种情况下,较小的值(> 15m)是优选的。

    为了增强稳健性,您可能需要在应用程序中添加一些启发式方法。例如,用于汽车的流行的售后市场GPS装置必须在其应用中实现更多智能,以便将车辆位置捕捉到街道或道路上的位置。否则,车辆将永远不会出现在街道上,而是出现在沟渠中的某个地方,或者就在地图上的建筑物中间。

    这种启发式的一个例子是假设除非车辆到达交叉路口,否则它仍然在之前报告的同一条街道上。

    最终,您需要尝试不同的配置,以找到最适合您需求的配置。