如何在Firebase实时数据库中获取节点的先前值

时间:2020-02-19 09:42:13

标签: javascript firebase firebase-realtime-database

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

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

我希望能够在值改变之前得到它,以便我可以计算旋转标记(HEADING)的角度。

感谢您的帮助

2 个答案:

答案 0 :(得分:0)

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

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

您没有提供有关要开发的客户端/应用程序(Web?Android?iOS?)的任何详细信息,因此无法为您提供有关如何实现此工作流程/顺序的更多详细信息。

答案 1 :(得分:0)

bearing不足以旋转标记吗?像

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