保存Meteor中的用户位置

时间:2016-11-26 09:49:39

标签: mongodb meteor geolocation

我的问题是搜索并显示一些米附近的所有注册用户。经过谷歌搜索后没有找到一个好的解决方案我开始编写非常简单的代码(我使用mdg:geolocation)。

main.js

// in the client side
Template.localPosition.helpers({
    'getLocalPosition': function(){
        var currentUserId = Meteor.userId();
        if( currentUserId ) { 
            var localPos = Geolocation.latLng();
            return "LAT:" + localPos.lat + " LNG:" + localPos.lng;
        }
    }
});

在main.html中,我显示一个带有{{getLocalPosition}}调用的'localPosition'模板。它有效,但在控制台面板中我有:

  

模板助手中的异常:TypeError:无法读取null的属性'lat'

为什么会这样?

1 个答案:

答案 0 :(得分:0)

错误是因为var localPosnull,你应该有一个if语句来检查localPos是否具有可读值:

Template.localPosition.helpers({
    'getLocalPosition': function(){
        var currentUserId = Meteor.userId();
        if( currentUserId ) { 
            var localPos = Geolocation.latLng();
            if(localPos) {
              return "LAT:" + localPos.lat + " LNG:" + localPos.lng;
            }

        }
    }
});