使用Backbone附加地理位置

时间:2018-04-23 23:19:06

标签: javascript class backbone.js geolocation underscore.js

我的代码的目标是向现有元素追加从地理位置对象返回的纬度。我通常使用像

这样的东西
var image = document.createElement("img");
image.setAttribute("src", iconurl);
li.appendChild(image);

在我的骨干代码中执行任何方法。但是,当我创建一个带有函数的if语句时,其内部如下所示:

this.$el.find(".className").method()

"这"不会返回我想要定位的对象。 如果我这样做:render: function(){ if ("geolocation" in navigator){ navigator.geolocation.getCurrentPosition(function(position) { this.$el.find(".className").append(position.coords.latitude) }) } else { } }

在本例中,我有这个。$ el,代码将在本地运行,但是当缩小时将不起作用(并且不会显示任何错误)。我也明白,即使这种方法确实适用于缩小,也不是编写骨干代码的好方法。

考虑到所有这些,我将如何定位我想要追加的对象?

1 个答案:

答案 0 :(得分:1)

您可能想要使用_.bind

     navigator.geolocation.getCurrentPosition(
         _.bind(
            function(position) { this.$el.find(".className").append(position.coords.latitude)},
            this
         )
     )