0

バックボーンを使用して Google マップにマーカーを追加するのに問題があります。

デバッグを容易にするためにjsfiddleを作成しました...

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

問題は、マップがレンダリングされたときに投稿コレクションが空であることに関係しているのではないかと思いますが、よくわかりません。

投稿情報を返す API があり、各投稿には緯度と経度があります。

4

1 に答える 1

1

最初の問題は、API (TastyPie を使用しているように見える) が結果の配列を応答のルートとしてではなく、サブプロパティとして返すことです。

バックボーン コレクションは、オブジェクトの配列を受け取ることを想定しています。

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

API は次を返します。

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

バックボーン コレクションでこれに対処する方法は、オブジェクトの配列を返すようにparse関数をオーバーライドすることです。

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

考えられる 2 番目の問題は、 Collection.fetch() が完了すると、発行されるchangeイベントが event ではなく、 event であるというresetことです。したがって、フェッチが完了したときにビューを再レンダリングする場合は、resetnotにバインドする必要がありますchange

于 2012-05-13T21:25:33.647 に答える