【问题标题】:How to get the previous value of a node in firebase realtime database如何在firebase实时数据库中获取节点的先前值
【发布时间】:2020-02-20 00:15:06
【问题描述】:

我正在向 Firebase 客户端 SDK (JavaScript) 发送一个请求,该请求实时发送到车辆的位置。我得到以下对象

​{
  "bearing": 264.8562316894531,
  "latitude": "19.9742249",
  "longitude": "73.7910482",
  "timestamp": "1582103153697",
  "trip": "40be478c-b0b0-41fb-bc70-66b2507719ef",
  "user": "1985"
}

我希望能够在值发生变化之前获得该值,以便计算旋转标记(HEADING)的角度。

感谢任何帮助

【问题讨论】:

  • 您如何称呼这个“Firebase API”?通过客户端 SDK?通过REST API?
  • 通过 firebase 客户端 SDK.. 更具体地说是 firebase npm 包

标签: javascript firebase firebase-realtime-database


【解决方案1】:

通过使用其中一个 Firebase 客户端 SDK,当您向该节点写入新值时,没有开箱即用的方式来获取给定实时数据库节点的先前值。

您需要首先读取节点,通过查询数据库(在您的情况下,我猜是通过车辆 ID 或用户 ID),将此值“存储”在前端并然后将节点的新值写入实时数据库。

您没有详细说明您正在为哪种类型的客户端/应用程序(Web?Android?iOS?)开发,因此不可能为您提供有关如何实现此工作流程/序列的更多详细信息。

【讨论】:

    【解决方案2】:

    bearing 还不足以让您旋转标记吗?类似的东西

    marker.rotate(newData.bearing - marker.bearing);
    

    【讨论】:

      猜你喜欢
      • 2020-05-12
      • 2020-04-27
      • 2017-03-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-27
      • 2017-12-27
      • 1970-01-01
      相关资源
      最近更新 更多