在距离远的地方从火力基地获取数据 [英] Get data from firebase when within distance

查看:164
本文介绍了在距离远的地方从火力基地获取数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想:在进入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:text,text});
$('#messageInput' ).val('');
}

});

  myDataRef.on('child_added',function(snapshot){
var message = snapshot.val();
displayChatMessage (message.name,message.text);

});

 函数displayChatMessage(name,text){
$('< div />')。text(text).prepend($(' (text + name:'))。appendTo($('#messagesDiv'));
$('#messagesDiv')[0] .scrollTop = $('#messagesDiv')[0] .scrollHeight;
};

这是我的在300m内激活聊天室功能:
$ (chatroom){b / b>

  jQuery(#chat)。slideDown(slow); 
myDataRef =新的Firebase(firebaseURL + chatroom [0]);

console.log(你在:,chatroom);

}

其他{

  jQuery(#chat)。slideUp(slow); 
console.log(你不在聊天室);

}
}



我如何做到这一点,不仅在300米以内聊天室有效,而且我还从聊天室获取来自Firebase的数据。
我无法设法使功能(快照)正常工作。只有未定义出现在聊天室窗口。



非常感谢。
/ a。

解决方案

查看GeoFire,一个建立在Firebase之上的库,可以让您执行GeoQueries,例如: https://www.firebase.com/blog/2013-09- 25-location-queries-geofire.html


I want to : GET data (=previous chat messages) from Firebase when entering 300m of a chatroom geolocation.

My Code :

Here is my basic Firebase chat function :

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;
  };

Here is my "activate Chatroom when within 300m" function :

if (chatroom) {

jQuery("#chat").slideDown("slow");
myDataRef    = new Firebase(firebaseURL + chatroom[0]);

console.log("You are in:", chatroom);

}

else {

jQuery("#chat").slideUp("slow");
console.log("You are not in a chatroom");

} }

How can I do so not only does a chatroom active when I get within 300m but I ALSO get the data from firebase that is located at that chatroom. I can't manage to make the function(snapshot) to work properly. Only "undefined" appears in the chatroom window.

much appreciated. /a.

解决方案

Take a look at GeoFire, a library built on top of Firebase that lets you perform GeoQueries such as these: https://www.firebase.com/blog/2013-09-25-location-queries-geofire.html

这篇关于在距离远的地方从火力基地获取数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆