backbone.js和谷歌地图标记

时间:2012-05-13 20:55:14

标签: google-maps backbone.js

我在使用骨干网的谷歌地图中添加标记时遇到了问题。

我创建了一个jsfiddle以便于调试......

http://jsfiddle.net/jLc53/3/

我认为问题可能与地图渲染时的帖子集合是空的有关,但我不确定。

我有一个返回帖子信息的API,每个帖子都有纬度和经度。

1 个答案:

答案 0 :(得分:1)

您的第一个问题是您的API(似乎使用TastyPie)返回的结果数组不是作为响应的根,而是作为子属性。

Backbone Collections希望收到一个对象数组:

[{obj1},{obj2},{obj3}]

您的API返回:

{meta:{response metadata},objects:[{obj1},{obj2},{obj3}]}

在Backbone Collections中处理它的方法是覆盖parse function,以便它返回一个对象数组:

parse: function (response) {
    return response.objects;
}

可能的第二个问题是,当Collection.fetch()完成时,它发出的事件不是change事件,而是reset event。因此,如果您希望视图在提取完成时重新呈现,则需要绑定到reset而不是change