我在FB中设置geoFire对象时尝试设置其他信息。
类似的东西:
geoFire.set(uniqueId, [latitude, longitude],{'message': message, 'iconUrl': iconURL, lastUpdate: Firebase.ServerValue.TIMESTAMP}).then(function () {
//some stuff
};
我可以这样做,它主要起作用(取决于db往返时间):
geoFire.set(uniqueId, [latitude, longitude],).then(function () {
firebaseRef.child(uniqueId).update({'message': message, 'iconUrl': iconURL, lastUpdate: Firebase.ServerValue.TIMESTAMP});
})
但是我的听众触发得太快而且没有捕获所有数据,所以它在没有图标路径的情况下呈现。
答案 0 :(得分:1)
我遇到了同样的问题,并没有想通过解决方法来解决这个问题,特别是通过引入延迟以便不断挖掘并找到它:https://github.com/firebase/geofire-js/issues/40
这基本上意味着我们需要重新构建应用程序,其中一个集合专用于GeoFire信息,另一个集合使用相同的密钥来存储附加信息。来自GitHub的例子。
{
geofire: {
"-J9aZZl94Sx6h": { "g": <geohash>, "l": {} }
"-Jhacf97x4S3h": { "g": <geohash>, "l": {} },
...
},
"locations": {
"-J9aZZl94Sx6h": { <location-data> },
"-Jhacf97x4S3h": { <location-data> }
}
}