我有一個谷歌地圖對象的位置集合,存儲在骨幹集合:結合骨幹收集/ JavaScript和新車型的對象從服務器
var Location = Backbone.Model.extend({
defaults: {
latitute: "",
longitude: "",
visited: false;
},
});
var LocationCollection = Backbone.Collection.extend({
model: Location,
url: 'api/locations'
});
隨着每個點點擊地圖上的位置模型屬性'visited'設置爲true。
原始位置集合來自數據庫(基於地圖邊界),該數據庫不存儲任何「訪問」信息,只是範圍內的位置列表。
當用戶通過移動,放大/縮小等來改變Google地圖的界限時,我需要在新參數中檢索一個全新的位置列表,然後以某種方式將該列表與現有集合進行同步,添加新的位置,但保留已訪問的屬性?
我希望這不是太模糊,但從哪裏開始?有沒有辦法使用jQuery將複雜對象從一個集合映射到另一個集合?或者更有意義的是分割集合,將訪問過的信息發送回服務器並將它們合併在一起?或者Backbone集合會記住「已訪問」的值,並僅使用新屬性更新集合中的值?
對不起,我以爲我知道這件事,但我從未做過這樣的事情。
「我以爲我知道這個東西。」每天都是我。 ;-)這聽起來像你所需要的只是你的位置的一個集合,並簡單地將新的位置模型數據添加到它,而不會與舊的混淆。 Underscore提供了很多優秀的工具來映射覆雜對象,集合等,但在你的情況下,我認爲你不需要做任何這樣的事情,而且你不需要讓你的服務器做任何不必要的複雜事情。我在下面的答案中提供了具體的觀點。 – jmk2142