2012-05-13 13 views
0

バックボーンを備えたGoogleマップにマーカーを追加する際に問題があります。backbone.jsとgoogle mapsのマーカー

私は...

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

を簡単にデバッグのためにjsfiddleを作成し、私はこの問題は、マップがレンダリングされたときにポストコレクションが空であることとしなければならないかもしれないと思うが、私はわかりません。

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

答えて

1

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

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

あなたのAPIリターン:

バックボーンコレクションは、オブジェクトの配列を受け取ることを期待バックボーンコレクションにそれに対処するための

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

方法は、それを返すようにparse functionをオーバーライドすることですオブジェクトの配列:

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

可能な第2 Collection.fetch()が完了すると、それが発行するイベントはchangeイベントではなく、reset eventというイベントになります。したがって、取得が完了したときにビューを再レンダリングする場合は、resetではなくchangeにバインドする必要があります。

+0

はい、私はbackbone-tastypie.jsを使用して解析関数などを上書きしています...リセットするためにイベントを変更していますが、jsfiddleではなくサーバー上で動作します。コードはうまく構成されていますか? – AlexBrand

関連する問題