2012-05-12 2 views
1

백본 응용 프로그램을 개발하려고 생각하고 있지만 올바른 방법을 생각하고 있는지 확신 할 수 없습니다.Google지도 및 backbone.js

이것은 내 첫 번째 백본 응용 프로그램입니다. 기본적으로 Google지도를 '기본'보기로 사용하는 간단한 앱을 개발하고 싶습니다.

아이디어는 API에서 모델로 위치 정보를 가져 오는 것입니다. 마커라고하면이 마커가지도에 표시됩니다.

나는지도보기에 마커를 연결하는 방법을 잘 모르겠습니다 :

  1. 지도보기는 addMarker() 함수를해야합니까?
  2. 마커의 렌더링 방법으로 마커를지도에 추가해야합니까?

답변

5

Collection 개의 마커를 만들고보기에서 initialize 함수로 전달하는 방법은 어떻습니까?

마커 컬렉션이 변경 될 때마다 change 이벤트를 바인딩하여 맵을 업데이트 할 수 있습니다. 그런 다음 add 컬렉션에 마커가 올 때마다지도보기가 컬렉션의 변경 사항을 파악하고 필요에 따라 마커를 추가하고 적응할 수있게됩니다. 뷰를 초기화 할 때

// in Backbone.View 
initialize: function (opts) { 
    _.bindAll(this); 
    this.markers = opts.markers; 
    this.markers.on('change', this.render); 
}, 

render: function() { 
    // create or update the map 
} 

, 당신은 지금이 같은 것을 사용할 수 있습니다 :

var markers = new MyApp.MarkerCollection(), 
    view = new MyApp.MapView({ markers: markers }); 

는 예를 들어,이 라인에보기를 만들