我想:在进入聊天室地理位置300m时从Firebase获取数据(=以前的聊天消息)。
我的代码:
这是我的基本Firebase聊天功能:
var myDataRef = new Firebase("https://digitaldatastrategi.firebaseio.com/");
$('#messageInput').keypress(function (e) {
if (e.keyCode == 13) {
var name = $('#nameInput').val();
var text = $('#messageInput').val();
myDataRef.push({name: name, text: text});
$('#messageInput').val('');
}
});
myDataRef.on('child_added', function(snapshot) {
var message = snapshot.val();
displayChatMessage(message.name, message.text);
});
function displayChatMessage(name, text) {
$('<div/>').text(text).prepend($('<em/>').text(name+': ')).appendTo($('#messagesDiv'));
$('#messagesDiv')[0].scrollTop = $('#messagesDiv')[0].scrollHeight;
};
这是我的“在300m内激活聊天室”功能:
如果(聊天室){
jQuery("#chat").slideDown("slow");
myDataRef = new Firebase(firebaseURL + chatroom[0]);
console.log("You are in:", chatroom);
}
其他{
jQuery("#chat").slideUp("slow");
console.log("You are not in a chatroom");
}
}
我该怎么做,不仅在进入300m之内时聊天室处于活动状态,而且还从位于该聊天室的firebase中获取数据。
我无法使功能(快照)正常工作。在聊天室窗口中仅显示“未定义”。
非常感激。
/一种。
最佳答案
看看GeoFire,它是在Firebase之上构建的库,可让您执行以下GeoQueries:https://www.firebase.com/blog/2013-09-25-location-queries-geofire.html