我正在考虑开发一个主干应用程序,但我不确定我是否以正确的方式考虑它。
这将是我的第一个主干应用程序。基本上,我想开发一个简单的应用程序,它将谷歌地图作为其“主要”视图。
这个想法是从 API 获取位置信息到模型中,比如说标记,这些标记将显示在地图上。
我不确定如何将标记连接到地图视图:
- 地图视图应该有一个 addMarker() 函数吗?
- 或者标记的渲染方法是否应该将标记添加到地图?
我正在考虑开发一个主干应用程序,但我不确定我是否以正确的方式考虑它。
这将是我的第一个主干应用程序。基本上,我想开发一个简单的应用程序,它将谷歌地图作为其“主要”视图。
这个想法是从 API 获取位置信息到模型中,比如说标记,这些标记将显示在地图上。
我不确定如何将标记连接到地图视图:
创建一个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 });