(我正在为企业添加 geofire 位置。我目前正在使用它来做到这一点:
var firebaseRef = push(ref(getDatabase()));
var geoFireInstance = new geofire.GeoFire(firebaseRef);
geoFireInstance.set( newUserName.value, [ lat2, lon2 ] ).then(function() {
console.log("Provided key has been added to GeoFire: ");
}, function(error) {
console.log("Error: " + error);
});
这是通过将条目放入实时数据库中的随机数据库(前 2 个条目)来实现的,如下所示。我想向 BusLocations 添加新条目(如最后 2 个条目)而不是随机的:
{
"-NiaHRxzh28S4UIMXa3E": { // RANDOM
"STEAKSHAKE": {
".priority": "9yzekk35e8",
"g": "9yzekk35e8",
"l": [
38.5639904,
-90.5148296
]
}
},
"-NiaN_K_KgBL95hq-0oz": { // RANDOM
"B": {
".priority": "9yzemjne3j",
"g": "9yzemjne3j",
"l": [
38.5680936,
-90.4744243
]
}
},
"BusLocations": { // **I WANT TO ADD INTO HERE INSTEAD OF RANDOM**
"HARDEES67890": {
"g": "9yzej7tx7n",
"l": [
38.5166,
-90.46473
]
},
"LAZYRIVERBALLWIN": {
"g": "9yzekjhp9b",
"l": [
"38.5687933",
"-90.5217678"
]
},
// ...
}
此行获取对数据库根目录的引用,然后在该位置生成新的引用。
var firebaseRef = push(ref(getDatabase()));
然后将其输入到
Geofire
构造函数中,每次加载页面时,它将指向新生成的引用。要解决此问题并始终定位同一位置,您需要删除 push()
并指定密钥。
var firebaseRef = ref(getDatabase(), "BusLocations"); // read as "using the given database, get a reference to BusLocations"
其余代码应保持不变。