当用户在Meteor中提交帖子时,我如何有效地存储用户的位置
How do I effectively store position of users when they submit a post in Meteor?
我使用mdg: geoocation包。我试图在他或她提交消息的那一刻存储用户的位置。
在postSubmit.js(客户端)中:
Template.postSubmit.events({'submit form': function(e) {e.preventDefault();
var post = {
message: $(e.target).find('[name=message]').val(),
loc: {
type:"Point",
coordinates: [82.1, 55.4] //fake data
}
};
还需要行来检索用户提交消息时的当前位置。
Template.postSubmit.onCreated(function() {
'loc': function() { //doesnt work, identifier error
Session.set("loc", Geolocation.latLng());
},
我看到了兜售这个版本的例子,但它给了我错误流星定位方法从事件
我的问题是1. 我如何替换假数据更新与检索{lng, lng}?2. 将模板。on渲染的例子是有效的?如果您只在发布消息时需要它,则无需将其存储在会话中。你只需要在提交事件中获取它。
Template.postSubmit.events({'submit form': function(e) {e.preventDefault();
var loc = Geolocation.latLng();
var post = {
message: $(e.target).find('[name=message]').val(),
loc: {
type:"Point",
coordinates: [loc.lng, loc.lat]
}
};
Meteor.call('postInsert', post, function (err, res) {
if (!err)
console.log("inserted!");
});
}
});
如果您希望地理位置在整个发布过程中可用,最简单的方法是使用轮询和会话变量:
Template.postSubmit.onCreated(function() {
this.interval = Meteor.setInterval(function () {
Session.set('location', Geolocation.latLng());
}, 2000); // get location every 2 seconds
});
然后,您可以使用模板帮助器检索它:
Template.postSubmit.helpers({
'loc': function () {
return Session.get('location');
}
});
您可以在完成post提交时停止间隔:
Template.postSubmit.events({'submit form': function(e, t) {
e.preventDefault();
var loc = Session.get('location');
var post = {
message: $(e.target).find('[name=message]').val(),
loc: {
type:"Point",
coordinates: [loc.lng, loc.lat]
}
};
Meteor.call('postInsert', post, function (err, res) {
if (!err) {
Meteor.clearInterval(t.interval);
console.log("inserted!");
}
});
}
});
相关文章:
- 如何有效地将游戏数据存储在URL查询字符串中
- 如何使用Node.js最有效地解析网页
- 如何在AngularJS中有效地检查日期是否有效
- 有效地获取两个区间之间的随机整数
- 如何在three.js中有效地使用TraingleStripDrawMode
- 如何有效地创建多维javascript数组
- 如何有效地将Float32Array插入Float32Array
- 如何有效地匹配两个不同 JavaScript 对象上的 id,并将它们合并在一起
- Javascript画布:如何有效地计算两个画布的距离
- 有效地串行化(并从nodejs读取)int数组
- 当超过文本框限制时,向用户直观地指示
- 我怎样才能更有效地获取这个数字
- 我如何创建一个Chrome应用程序,有效地充当信息亭模式下的启动页面
- Javascript函数可以更有效地处理并发异步函数
- 我需要在用户键入时搜索文本,但它可能是数百或数千页,我怎样才能有效地做到这一点
- 如何有效地记录用户打字使用javascript
- 如何根据多个用户选择有效地定义变量
- 当用户在Meteor中提交帖子时,我如何有效地存储用户的位置
- 按与用户的接近程度有效地对大量人员进行排序
- 创建增加变量的javascript按钮,以便用户可以有效地缩放页面