我想:在进入聊天室地理位置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

07-24 09:46
查看更多