我有一个谷歌地图对象上的位置集合,存储在主干集合中:
var Location = Backbone.Model.extend({
defaults: {
latitute: "",
longitude: "",
visited: false;
},
});
var LocationCollection = Backbone.Collection.extend({
model: Location,
url: 'api/locations'
});
在地图上单击每个点时,位置模型属性“已访问”设置为 true。
位置的原始集合来自数据库(基于地图的边界),它不存储任何“访问”信息,只是范围内的位置列表。
当用户通过移动、放大/缩小等更改谷歌地图的边界时,我需要在新参数中检索一个全新的位置列表,然后以某种方式将该列表与现有集合同化,添加新位置,但是为现有的保留访问过的属性?
我希望这不是太模糊,但是从哪里开始呢?jQuery 有没有办法将复杂对象从一个集合映射到另一个集合?或者拆分集合,将访问信息发送回服务器并在那里合并它们会更有意义吗?还是 Backbone 集合会记住“访问过”的值,并且只使用新属性更新集合中的值?
对不起,我以为我知道这些东西,但我从来没有做过这样的事情。